diff --git a/.astro/types.d.ts b/.astro/types.d.ts new file mode 100644 index 0000000000..b365a8ff80 --- /dev/null +++ b/.astro/types.d.ts @@ -0,0 +1,423 @@ +declare module 'astro:content' { + interface Render { + '.mdx': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + }>; + } +} + +declare module 'astro:content' { + interface Render { + '.md': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + }>; + } +} + +declare module 'astro:content' { + export { z } from 'astro/zod'; + + type Flatten = T extends { [K: string]: infer U } ? U : never; + + export type CollectionKey = keyof AnyEntryMap; + export type CollectionEntry = Flatten; + + export type ContentCollectionKey = keyof ContentEntryMap; + export type DataCollectionKey = keyof DataEntryMap; + + // This needs to be in sync with ImageMetadata + export type ImageFunction = () => import('astro/zod').ZodObject<{ + src: import('astro/zod').ZodString; + width: import('astro/zod').ZodNumber; + height: import('astro/zod').ZodNumber; + format: import('astro/zod').ZodUnion< + [ + import('astro/zod').ZodLiteral<'png'>, + import('astro/zod').ZodLiteral<'jpg'>, + import('astro/zod').ZodLiteral<'jpeg'>, + import('astro/zod').ZodLiteral<'tiff'>, + import('astro/zod').ZodLiteral<'webp'>, + import('astro/zod').ZodLiteral<'gif'>, + import('astro/zod').ZodLiteral<'svg'>, + import('astro/zod').ZodLiteral<'avif'>, + ] + >; + }>; + + type BaseSchemaWithoutEffects = + | import('astro/zod').AnyZodObject + | import('astro/zod').ZodUnion<[BaseSchemaWithoutEffects, ...BaseSchemaWithoutEffects[]]> + | import('astro/zod').ZodDiscriminatedUnion + | import('astro/zod').ZodIntersection; + + type BaseSchema = + | BaseSchemaWithoutEffects + | import('astro/zod').ZodEffects; + + export type SchemaContext = { image: ImageFunction }; + + type DataCollectionConfig = { + type: 'data'; + schema?: S | ((context: SchemaContext) => S); + }; + + type ContentCollectionConfig = { + type?: 'content'; + schema?: S | ((context: SchemaContext) => S); + }; + + type CollectionConfig = ContentCollectionConfig | DataCollectionConfig; + + export function defineCollection( + input: CollectionConfig + ): CollectionConfig; + + type AllValuesOf = T extends any ? T[keyof T] : never; + type ValidContentEntrySlug = AllValuesOf< + ContentEntryMap[C] + >['slug']; + + export function getEntryBySlug< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + // Note that this has to accept a regular string too, for SSR + entrySlug: E + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + + export function getDataEntryById( + collection: C, + entryId: E + ): Promise>; + + export function getCollection>( + collection: C, + filter?: (entry: CollectionEntry) => entry is E + ): Promise; + export function getCollection( + collection: C, + filter?: (entry: CollectionEntry) => unknown + ): Promise[]>; + + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >(entry: { + collection: C; + slug: E; + }): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >(entry: { + collection: C; + id: E; + }): E extends keyof DataEntryMap[C] + ? Promise + : Promise | undefined>; + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + slug: E + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >( + collection: C, + id: E + ): E extends keyof DataEntryMap[C] + ? Promise + : Promise | undefined>; + + /** Resolve an array of entry references from the same collection */ + export function getEntries( + entries: { + collection: C; + slug: ValidContentEntrySlug; + }[] + ): Promise[]>; + export function getEntries( + entries: { + collection: C; + id: keyof DataEntryMap[C]; + }[] + ): Promise[]>; + + export function reference( + collection: C + ): import('astro/zod').ZodEffects< + import('astro/zod').ZodString, + C extends keyof ContentEntryMap + ? { + collection: C; + slug: ValidContentEntrySlug; + } + : { + collection: C; + id: keyof DataEntryMap[C]; + } + >; + // Allow generic `string` to avoid excessive type errors in the config + // if `dev` is not running to update as you edit. + // Invalid collection names will be caught at build time. + export function reference( + collection: C + ): import('astro/zod').ZodEffects; + + type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; + type InferEntrySchema = import('astro/zod').infer< + ReturnTypeOrOriginal['schema']> + >; + + type ContentEntryMap = { + "docs": { +"docs/Project Information/discord.mdx": { + id: "docs/Project Information/discord.mdx"; + slug: "discord"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Project Information/docs.mdx": { + id: "docs/Project Information/docs.mdx"; + slug: "docs"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Project Information/eula.mdx": { + id: "docs/Project Information/eula.mdx"; + slug: "eula"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Project Information/releases.mdx": { + id: "docs/Project Information/releases.mdx"; + slug: "release"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Anti-X Tools/anticheat.mdx": { + id: "docs/Server Enhancements/Anti-X Tools/anticheat.mdx"; + slug: "e/anti-x/ac"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Anti-X Tools/antiexploit.mdx": { + id: "docs/Server Enhancements/Anti-X Tools/antiexploit.mdx"; + slug: "e/anti-x/ae"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Anti-X Tools/antilag.mdx": { + id: "docs/Server Enhancements/Anti-X Tools/antilag.mdx"; + slug: "e/anti-x/al"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Anti-X Tools/antixray.mdx": { + id: "docs/Server Enhancements/Anti-X Tools/antixray.mdx"; + slug: "e/anti-x/ax"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Anti-X Tools/intro.mdx": { + id: "docs/Server Enhancements/Anti-X Tools/intro.mdx"; + slug: "e/anti-x"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Economy/chest.mdx": { + id: "docs/Server Enhancements/Economy/chest.mdx"; + slug: "e/eco/chest"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Economy/gui.mdx": { + id: "docs/Server Enhancements/Economy/gui.mdx"; + slug: "e/eco/gui"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Economy/intro.mdx": { + id: "docs/Server Enhancements/Economy/intro.mdx"; + slug: "e/eco"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Economy/shop.mdx": { + id: "docs/Server Enhancements/Economy/shop.mdx"; + slug: "e/eco/shop"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Permissions/breakdown.mdx": { + id: "docs/Server Enhancements/Permissions/breakdown.mdx"; + slug: "e/perms"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Permissions/luckperms.mdx": { + id: "docs/Server Enhancements/Permissions/luckperms.mdx"; + slug: "e/perms/luckperms"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/essentialsx.mdx": { + id: "docs/Server Enhancements/Plugins/Free/essentialsx.mdx"; + slug: "e/pl/essentialsx"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/npcs.mdx": { + id: "docs/Server Enhancements/Plugins/Free/npcs.mdx"; + slug: "e/pl/npcplugins"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/timber.mdx": { + id: "docs/Server Enhancements/Plugins/Free/timber.mdx"; + slug: "e/pl/ultimatetimber"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/vault.mdx": { + id: "docs/Server Enhancements/Plugins/Free/vault.mdx"; + slug: "e/pl/vault"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/worldedit.mdx": { + id: "docs/Server Enhancements/Plugins/Free/worldedit.mdx"; + slug: "e/pl/worldedit"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Free/worldguard.mdx": { + id: "docs/Server Enhancements/Plugins/Free/worldguard.mdx"; + slug: "e/pl/worldguard"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/Premium/litebans.mdx": { + id: "docs/Server Enhancements/Plugins/Premium/litebans.mdx"; + slug: "e/pl/litebans"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Enhancements/Plugins/intro.mdx": { + id: "docs/Server Enhancements/Plugins/intro.mdx"; + slug: "e/pl"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/hardware.mdx": { + id: "docs/Server Hosting/hardware.mdx"; + slug: "h/hardware"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/intro.mdx": { + id: "docs/Server Hosting/intro.mdx"; + slug: "h"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/os.mdx": { + id: "docs/Server Hosting/os.mdx"; + slug: "h/os"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/panels.mdx": { + id: "docs/Server Hosting/panels.mdx"; + slug: "h/ui"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/providers.mdx": { + id: "docs/Server Hosting/providers.mdx"; + slug: "h/providers"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/self.mdx": { + id: "docs/Server Hosting/self.mdx"; + slug: "h/self"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"docs/Server Hosting/types.mdx": { + id: "docs/Server Hosting/types.mdx"; + slug: "h/types"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +"guides/example.md": { + id: "guides/example.md"; + slug: "guides/example"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".md"] }; +"index.mdx": { + id: "index.mdx"; + slug: "index"; + body: string; + collection: "docs"; + data: InferEntrySchema<"docs"> +} & { render(): Render[".mdx"] }; +}; + + }; + + type DataEntryMap = { + + }; + + type AnyEntryMap = ContentEntryMap & DataEntryMap; + + type ContentConfig = typeof import("../src/content/config"); +} diff --git a/.gitignore b/.gitignore index 9c0d0c3667..e2851fc907 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ # Production /build +/nuxt +/dist # Generated files .docusaurus diff --git a/.output/nitro.json b/.output/nitro.json new file mode 100644 index 0000000000..e082458929 --- /dev/null +++ b/.output/nitro.json @@ -0,0 +1,7 @@ +{ + "date": "2023-10-30T19:45:17.662Z", + "preset": "node-server", + "commands": { + "preview": "node ./server/index.mjs" + } +} \ No newline at end of file diff --git a/.output/public/__studio.json b/.output/public/__studio.json new file mode 100644 index 0000000000..308c9a9365 --- /dev/null +++ b/.output/public/__studio.json @@ -0,0 +1 @@ +{"version":"1.0.2","tokens":"","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"tiktok":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/tiktok","default":"","type":"string"},"youtube":{"title":"TikTok page url","description":"","tags":["@example https://www.tiktok.com/@tiktok","@studioIcon simple-icons:tiktok"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.\nObject that sets the light and dark logos.","tags":["@example 'MyLogo'","@studioInput boolean"],"tsType":"boolean|string|{dark: string, light: string}","id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"baseUrl":{"title":"Base URL","description":"You can use this to link to GitHub Enterprise.","tags":[],"id":"#appConfig/docus/github/baseUrl","default":"https://github.com","type":"string"},"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"appConfig":{"nuxt":{"buildId":"5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66"},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"setup.md","description":"Your open source Minecraft administration wiki.","url":"https://docus.dev","image":"","socials":{"github":"setupmd/docs","discord":{"label":"Discord","icon":"simple-icons:discord","href":"https://link.setup.md/discord"}},"layout":"default","header":{"title":"","logo":true,"showLinkIcon":true,"fluid":true,"exclude":[]},"aside":{"level":0,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[],"fluid":false},"github":{"dir":".starters/default/content","branch":"v3-nuxt","repo":"docs","owner":"setupmd","edit":true},"main":{"padded":true,"fluid":true}}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFCEE"}},"type":"object","default":{"value":"#FFFCEE"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF6D3"}},"type":"object","default":{"value":"#FFF6D3"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FFF0B1"}},"type":"object","default":{"value":"#FFF0B1"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFE372"}},"type":"object","default":{"value":"#FFE372"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFDC4E"}},"type":"object","default":{"value":"#FFDC4E"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#FBCA05"}},"type":"object","default":{"value":"#FBCA05"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#CBA408"}},"type":"object","default":{"value":"#CBA408"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#614E02"}},"type":"object","default":{"value":"#614E02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#292100"}},"type":"object","default":{"value":"#292100"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1B1500"}},"type":"object","default":{"value":"#1B1500"}}},"type":"object","default":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#014267"}},"type":"object","default":{"value":"#014267"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#F1FCFF"}},"type":"object","default":{"value":"#F1FCFF"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#DCF7FF"}},"type":"object","default":{"value":"#DCF7FF"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#C5F2FF"}},"type":"object","default":{"value":"#C5F2FF"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#82E3FF"}},"type":"object","default":{"value":"#82E3FF"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#55E1FF"}},"type":"object","default":{"value":"#55E1FF"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#1AD6FF"}},"type":"object","default":{"value":"#1AD6FF"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#09A0C1"}},"type":"object","default":{"value":"#09A0C1"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#024757"}},"type":"object","default":{"value":"#024757"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#00232B"}},"type":"object","default":{"value":"#00232B"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#001A1F"}},"type":"object","default":{"value":"#001A1F"}}},"type":"object","default":{"50":{"value":"#F1FCFF"},"100":{"value":"#DCF7FF"},"200":{"value":"#C5F2FF"},"300":{"value":"#82E3FF"},"400":{"value":"#55E1FF"},"500":{"value":"#1AD6FF"},"600":{"value":"#09A0C1"},"700":{"value":"#024757"},"800":{"value":"#00232B"},"900":{"value":"#001A1F"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"shadow":{"id":"#tokensConfig/color/shadow","properties":{"value":{"id":"#tokensConfig/color/shadow/value","properties":{"initial":{"type":"string","id":"#tokensConfig/color/shadow/value/initial","default":"{color.gray.400}"},"dark":{"type":"string","id":"#tokensConfig/color/shadow/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#F1FCFF"},"100":{"value":"#DCF7FF"},"200":{"value":"#C5F2FF"},"300":{"value":"#82E3FF"},"400":{"value":"#55E1FF"},"500":{"value":"#1AD6FF"},"600":{"value":"#09A0C1"},"700":{"value":"#024757"},"800":{"value":"#00232B"},"900":{"value":"#001A1F"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 2px 0px {color.shadow}"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"type":"object","default":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"type":"object","default":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.shadow}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.shadow}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"body":{"id":"#tokensConfig/docus/body","properties":{"backgroundColor":{"id":"#tokensConfig/docus/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"color":{"id":"#tokensConfig/docus/body/color","properties":{"value":{"id":"#tokensConfig/docus/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/color/value/initial","default":"{color.gray.800}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/color/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"fontFamily":{"id":"#tokensConfig/docus/body/fontFamily","properties":{"value":{"type":"string","id":"#tokensConfig/docus/body/fontFamily/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}}},"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"logo":{"id":"#tokensConfig/docus/header/logo","properties":{"height":{"id":"#tokensConfig/docus/header/logo/height","properties":{"value":{"id":"#tokensConfig/docus/header/logo/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/initial","default":"{space.6}"},"sm":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/sm","default":"{space.7}"}},"type":"object","default":{"initial":"{space.6}","sm":"{space.7}"}}},"type":"object","default":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"type":"object","default":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"title":{"id":"#tokensConfig/docus/header/title","properties":{"fontSize":{"id":"#tokensConfig/docus/header/title/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"fontWeight":{"id":"#tokensConfig/docus/header/title/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontWeight/value","default":"{fontWeight.bold}"}},"type":"object","default":{"value":"{fontWeight.bold}"}},"color":{"id":"#tokensConfig/docus/header/title/color","properties":{"static":{"id":"#tokensConfig/docus/header/title/color/static","properties":{"value":{"id":"#tokensConfig/docus/header/title/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/dark","default":"{color.gray.100}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"hover":{"id":"#tokensConfig/docus/header/title/color/hover","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/color/hover/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"search":{"id":"#tokensConfig/docus/search","properties":{"backdropFilter":{"id":"#tokensConfig/docus/search/backdropFilter","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/backdropFilter/value","default":"blur(24px)"}},"type":"object","default":{"value":"blur(24px)"}},"input":{"id":"#tokensConfig/docus/search/input","properties":{"borderRadius":{"id":"#tokensConfig/docus/search/input/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderRadius/value","default":"{radii.2xs}"}},"type":"object","default":{"value":"{radii.2xs}"}},"borderWidth":{"id":"#tokensConfig/docus/search/input/borderWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderWidth/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"borderStyle":{"id":"#tokensConfig/docus/search/input/borderStyle","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderStyle/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"borderColor":{"id":"#tokensConfig/docus/search/input/borderColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/borderColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/dark","default":"transparent"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"transparent"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"transparent"}}},"fontSize":{"id":"#tokensConfig/docus/search/input/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"gap":{"id":"#tokensConfig/docus/search/input/gap","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/gap/value","default":"{space.2}"}},"type":"object","default":{"value":"{space.2}"}},"padding":{"id":"#tokensConfig/docus/search/input/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/padding/value","default":"{space.2} {space.4}"}},"type":"object","default":{"value":"{space.2} {space.4}"}},"backgroundColor":{"id":"#tokensConfig/docus/search/input/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"results":{"id":"#tokensConfig/docus/search/results","properties":{"window":{"id":"#tokensConfig/docus/search/results/window","properties":{"marginX":{"id":"#tokensConfig/docus/search/results/window/marginX","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginX/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/sm","default":"{space.4}"}},"type":"object","default":{"initial":"0","sm":"{space.4}"}}},"type":"object","default":{"value":{"initial":"0","sm":"{space.4}"}}},"borderRadius":{"id":"#tokensConfig/docus/search/results/window/borderRadius","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/borderRadius/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/initial","default":"none"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/sm","default":"{radii.xs}"}},"type":"object","default":{"initial":"none","sm":"{radii.xs}"}}},"type":"object","default":{"value":{"initial":"none","sm":"{radii.xs}"}}},"marginTop":{"id":"#tokensConfig/docus/search/results/window/marginTop","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginTop/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/sm","default":"20vh"}},"type":"object","default":{"initial":"0","sm":"20vh"}}},"type":"object","default":{"value":{"initial":"0","sm":"20vh"}}},"maxWidth":{"id":"#tokensConfig/docus/search/results/window/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxWidth/value","default":"640px"}},"type":"object","default":{"value":"640px"}},"maxHeight":{"id":"#tokensConfig/docus/search/results/window/maxHeight","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/maxHeight/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/initial","default":"100%"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/sm","default":"320px"}},"type":"object","default":{"initial":"100%","sm":"320px"}}},"type":"object","default":{"value":{"initial":"100%","sm":"320px"}}}},"type":"object","default":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}}},"selected":{"id":"#tokensConfig/docus/search/results/selected","properties":{"backgroundColor":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/initial","default":"{color.gray.300}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/dark","default":"{color.gray.700}"}},"type":"object","default":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"type":"object","default":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"highlight":{"id":"#tokensConfig/docus/search/results/highlight","properties":{"color":{"id":"#tokensConfig/docus/search/results/highlight/color","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/color/value","default":"white"}},"type":"object","default":{"value":"white"}},"backgroundColor":{"id":"#tokensConfig/docus/search/results/highlight/backgroundColor","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/backgroundColor/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}},"type":"object","default":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}},"type":"object","default":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#F1FCFF"},"100":{"value":"#DCF7FF"},"200":{"value":"#C5F2FF"},"300":{"value":"#82E3FF"},"400":{"value":"#55E1FF"},"500":{"value":"#1AD6FF"},"600":{"value":"#09A0C1"},"700":{"value":"#024757"},"800":{"value":"#00232B"},"900":{"value":"#001A1F"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#F1FCFF"},"100":{"value":"#DCF7FF"},"200":{"value":"#C5F2FF"},"300":{"value":"#82E3FF"},"400":{"value":"#55E1FF"},"500":{"value":"#1AD6FF"},"600":{"value":"#09A0C1"},"700":{"value":"#024757"},"800":{"value":"#00232B"},"900":{"value":"#001A1F"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE","variable":"var(--color-yellow-50)","raw":"#FFFCEE"},"100":{"value":"#FFF6D3","variable":"var(--color-yellow-100)","raw":"#FFF6D3"},"200":{"value":"#FFF0B1","variable":"var(--color-yellow-200)","raw":"#FFF0B1"},"300":{"value":"#FFE372","variable":"var(--color-yellow-300)","raw":"#FFE372"},"400":{"value":"#FFDC4E","variable":"var(--color-yellow-400)","raw":"#FFDC4E"},"500":{"value":"#FBCA05","variable":"var(--color-yellow-500)","raw":"#FBCA05"},"600":{"value":"#CBA408","variable":"var(--color-yellow-600)","raw":"#CBA408"},"700":{"value":"#614E02","variable":"var(--color-yellow-700)","raw":"#614E02"},"800":{"value":"#292100","variable":"var(--color-yellow-800)","raw":"#292100"},"900":{"value":"#1B1500","variable":"var(--color-yellow-900)","raw":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#014267","variable":"var(--color-blue-700)","raw":"#014267"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#F1FCFF","variable":"var(--color-primary-50)","raw":"#F1FCFF"},"100":{"value":"#DCF7FF","variable":"var(--color-primary-100)","raw":"#DCF7FF"},"200":{"value":"#C5F2FF","variable":"var(--color-primary-200)","raw":"#C5F2FF"},"300":{"value":"#82E3FF","variable":"var(--color-primary-300)","raw":"#82E3FF"},"400":{"value":"#55E1FF","variable":"var(--color-primary-400)","raw":"#55E1FF"},"500":{"value":"#1AD6FF","variable":"var(--color-primary-500)","raw":"#1AD6FF"},"600":{"value":"#09A0C1","variable":"var(--color-primary-600)","raw":"#09A0C1"},"700":{"value":"#024757","variable":"var(--color-primary-700)","raw":"#024757"},"800":{"value":"#00232B","variable":"var(--color-primary-800)","raw":"#00232B"},"900":{"value":"#001A1F","variable":"var(--color-primary-900)","raw":"#001A1F"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}},"shadow":{"value":{"initial":"var(--color-gray-400)","dark":"var(--color-gray-800)"},"variable":"var(--color-shadow)","raw":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px var(--color-shadow)","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px var(--color-shadow)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--docus-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"var(--color-gray-800)","dark":"var(--color-gray-200)"},"variable":"var(--docus-body-color)","raw":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"var(--font-sans)","variable":"var(--docus-body-fontFamily)","raw":"{font.sans}"}},"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"},"logo":{"height":{"value":{"initial":"var(--space-6)","sm":"var(--space-7)"},"variable":"var(--docus-header-logo-height)","raw":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--docus-header-title-fontSize)","raw":"{fontSize.2xl}"},"fontWeight":{"value":"var(--fontWeight-bold)","variable":"var(--docus-header-title-fontWeight)","raw":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-100)"},"variable":"var(--docus-header-title-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"var(--color-primary-500)","variable":"var(--docus-header-title-color-hover)","raw":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)","variable":"var(--docus-search-backdropFilter)","raw":"blur(24px)"},"input":{"borderRadius":{"value":"var(--radii-2xs)","variable":"var(--docus-search-input-borderRadius)","raw":"{radii.2xs}"},"borderWidth":{"value":"1px","variable":"var(--docus-search-input-borderWidth)","raw":"1px"},"borderStyle":{"value":"solid","variable":"var(--docus-search-input-borderStyle)","raw":"solid"},"borderColor":{"value":{"initial":"var(--color-gray-200)","dark":"transparent"},"variable":"var(--docus-search-input-borderColor)","raw":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--docus-search-input-fontSize)","raw":"{fontSize.sm}"},"gap":{"value":"var(--space-2)","variable":"var(--docus-search-input-gap)","raw":"{space.2}"},"padding":{"value":"var(--space-2) var(--space-4)","variable":"var(--docus-search-input-padding)","raw":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--docus-search-input-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"var(--space-4)"},"variable":"var(--docus-search-results-window-marginX)","raw":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"var(--radii-xs)"},"variable":"var(--docus-search-results-window-borderRadius)","raw":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"},"variable":"var(--docus-search-results-window-marginTop)","raw":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px","variable":"var(--docus-search-results-window-maxWidth)","raw":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"},"variable":"var(--docus-search-results-window-maxHeight)","raw":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"var(--color-gray-300)","dark":"var(--color-gray-700)"},"variable":"var(--docus-search-results-selected-backgroundColor)","raw":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white","variable":"var(--docus-search-results-highlight-color)","raw":"white"},"backgroundColor":{"value":"var(--color-primary-500)","variable":"var(--docus-search-results-highlight-backgroundColor)","raw":"{color.primary.500}"}}}}}},"content":{"sources":{},"ignores":[],"locales":[],"defaultLocale":"","highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false,"advanceQuery":false,"search":""}},"components":[{"name":"AppDocSearch","path":"node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppFooter","path":"node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLoadingBar","path":"node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSearch","path":"node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"node_modules/@nuxt-themes/docus/components/app/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPrevNext","path":"node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsTocLinks","path":"node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"EditOnLink","path":"node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"SourceLink","path":"node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Alert","path":"node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Badge","path":"node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ButtonLink","path":"node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Callout","path":"node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeBlock","path":"node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeGroup","path":"node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CopyButton","path":"node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"List","path":"node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TabsHeader","path":"node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Terminal","path":"node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Card","path":"node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CardGrid","path":"node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VoltaBoard","path":"node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundProps","path":"node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundSlots","path":"node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"PreviewLayout","path":"node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file diff --git a/.output/public/_nuxt/Alert.408d0512.css b/.output/public/_nuxt/Alert.408d0512.css new file mode 100644 index 0000000000..4907b12e18 --- /dev/null +++ b/.output/public/_nuxt/Alert.408d0512.css @@ -0,0 +1 @@ +.alert[data-v-03ea57c1]{border:1px solid;border-radius:var(--radii-md);font-size:var(--text-sm-fontSize);line-height:var(--text-sm-lineHeight);margin-bottom:var(--space-8);margin-top:var(--space-8);padding:var(--space-3) var(--space-4)}.alert.primary[data-v-03ea57c1]{background-color:var(--elements-state-primary-backgroundColor-primary)!important;border-color:var(--elements-state-primary-borderColor-primary)!important;color:var(--elements-state-primary-color-primary)!important}.alert.primary[data-v-03ea57c1] p code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.alert.primary[data-v-03ea57c1] code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-primary)!important}.alert.primary[data-v-03ea57c1] a code{border-color:var(--elements-state-primary-borderColor-primary)!important}.alert.primary[data-v-03ea57c1] a{border-color:currentColor}.alert.primary[data-v-03ea57c1] a code{background-color:var(--elements-state-primary-backgroundColor-primary)!important}.alert.primary[data-v-03ea57c1] a:hover{border-color:currentColor!important;color:var(--elements-state-primary-color-secondary)!important}.alert.primary[data-v-03ea57c1] a:hover code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;border-color:var(--elements-state-primary-borderColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.alert.info[data-v-03ea57c1]{background-color:var(--elements-state-info-backgroundColor-primary)!important;border-color:var(--elements-state-info-borderColor-primary)!important;color:var(--elements-state-info-color-primary)!important}.alert.info[data-v-03ea57c1] p code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.alert.info[data-v-03ea57c1] code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-primary)!important}.alert.info[data-v-03ea57c1] a code{border-color:var(--elements-state-info-borderColor-primary)!important}.alert.info[data-v-03ea57c1] a{border-color:currentColor}.alert.info[data-v-03ea57c1] a code{background-color:var(--elements-state-info-backgroundColor-primary)!important}.alert.info[data-v-03ea57c1] a:hover{border-color:currentColor!important;color:var(--elements-state-info-color-secondary)!important}.alert.info[data-v-03ea57c1] a:hover code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;border-color:var(--elements-state-info-borderColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.alert.success[data-v-03ea57c1]{background-color:var(--elements-state-success-backgroundColor-primary)!important;border-color:var(--elements-state-success-borderColor-primary)!important;color:var(--elements-state-success-color-primary)!important}.alert.success[data-v-03ea57c1] p code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.alert.success[data-v-03ea57c1] code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-primary)!important}.alert.success[data-v-03ea57c1] a code{border-color:var(--elements-state-success-borderColor-primary)!important}.alert.success[data-v-03ea57c1] a{border-color:currentColor}.alert.success[data-v-03ea57c1] a code{background-color:var(--elements-state-success-backgroundColor-primary)!important}.alert.success[data-v-03ea57c1] a:hover{border-color:currentColor!important;color:var(--elements-state-success-color-secondary)!important}.alert.success[data-v-03ea57c1] a:hover code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;border-color:var(--elements-state-success-borderColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.alert.warning[data-v-03ea57c1]{background-color:var(--elements-state-warning-backgroundColor-primary)!important;border-color:var(--elements-state-warning-borderColor-primary)!important;color:var(--elements-state-warning-color-primary)!important}.alert.warning[data-v-03ea57c1] p code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.alert.warning[data-v-03ea57c1] code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-primary)!important}.alert.warning[data-v-03ea57c1] a code{border-color:var(--elements-state-warning-borderColor-primary)!important}.alert.warning[data-v-03ea57c1] a{border-color:currentColor}.alert.warning[data-v-03ea57c1] a code{background-color:var(--elements-state-warning-backgroundColor-primary)!important}.alert.warning[data-v-03ea57c1] a:hover{border-color:currentColor!important;color:var(--elements-state-warning-color-secondary)!important}.alert.warning[data-v-03ea57c1] a:hover code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;border-color:var(--elements-state-warning-borderColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.alert.danger[data-v-03ea57c1]{background-color:var(--elements-state-danger-backgroundColor-primary)!important;border-color:var(--elements-state-danger-borderColor-primary)!important;color:var(--elements-state-danger-color-primary)!important}.alert.danger[data-v-03ea57c1] p code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important}.alert.danger[data-v-03ea57c1] code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-primary)!important}.alert.danger[data-v-03ea57c1] a code{border-color:var(--elements-state-danger-borderColor-primary)!important}.alert.danger[data-v-03ea57c1] a{border-color:currentColor}.alert.danger[data-v-03ea57c1] a code{background-color:var(--elements-state-danger-backgroundColor-primary)!important}.alert.danger[data-v-03ea57c1] a:hover{border-color:currentColor!important;color:var(--elements-state-danger-color-secondary)!important}.alert.danger[data-v-03ea57c1] a:hover code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;border-color:var(--elements-state-danger-borderColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important} diff --git a/.output/public/_nuxt/Alert.5d2c733c.js b/.output/public/_nuxt/Alert.5d2c733c.js new file mode 100644 index 0000000000..195fc25591 --- /dev/null +++ b/.output/public/_nuxt/Alert.5d2c733c.js @@ -0,0 +1 @@ +import{r as a}from"./slot.51812f31.js";import{d as r,b as s,c as n,e as o,n as _,k as c}from"./entry.19040e7f.js";import"./node.676c5e99.js";const l={class:"alert-content"},p=r({__name:"Alert",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(t,d)=>(s(),n("div",{class:_(["alert",[e.type]])},[o("div",l,[a(t.$slots,"default",{unwrap:"p"},void 0,!0)])],2))}});const f=c(p,[["__scopeId","data-v-03ea57c1"]]);export{f as default}; diff --git a/.output/public/_nuxt/Badge.78c87494.js b/.output/public/_nuxt/Badge.78c87494.js new file mode 100644 index 0000000000..ddcd5fea6b --- /dev/null +++ b/.output/public/_nuxt/Badge.78c87494.js @@ -0,0 +1 @@ +import{r as t}from"./slot.51812f31.js";import{d as n,b as r,c as s,n as o,k as _}from"./entry.19040e7f.js";import"./node.676c5e99.js";const p=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,c)=>(r(),s("span",{class:o([[e.type],"badge"])},[t(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}});const u=_(p,[["__scopeId","data-v-0f05aaa2"]]);export{u as default}; diff --git a/.output/public/_nuxt/Badge.bd8fb886.css b/.output/public/_nuxt/Badge.bd8fb886.css new file mode 100644 index 0000000000..bb0ee3630a --- /dev/null +++ b/.output/public/_nuxt/Badge.bd8fb886.css @@ -0,0 +1 @@ +.badge[data-v-0f05aaa2]{align-items:center;border:1px solid;border-radius:var(--radii-full);display:inline-flex;font-size:var(--text-base-fontSize);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-base-lineHeight);padding:var(--space-1) var(--space-3)}.badge.primary[data-v-0f05aaa2]{background-color:var(--elements-state-primary-backgroundColor-primary)!important;border-color:var(--elements-state-primary-borderColor-primary)!important;color:var(--elements-state-primary-color-primary)!important}.badge.primary[data-v-0f05aaa2] p code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.badge.primary[data-v-0f05aaa2] code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-primary)!important}.badge.primary[data-v-0f05aaa2] a code{border-color:var(--elements-state-primary-borderColor-primary)!important}.badge.primary[data-v-0f05aaa2] a{border-color:currentColor}.badge.primary[data-v-0f05aaa2] a code{background-color:var(--elements-state-primary-backgroundColor-primary)!important}.badge.primary[data-v-0f05aaa2] a:hover{border-color:currentColor!important;color:var(--elements-state-primary-color-secondary)!important}.badge.primary[data-v-0f05aaa2] a:hover code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;border-color:var(--elements-state-primary-borderColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.badge.info[data-v-0f05aaa2]{background-color:var(--elements-state-info-backgroundColor-primary)!important;border-color:var(--elements-state-info-borderColor-primary)!important;color:var(--elements-state-info-color-primary)!important}.badge.info[data-v-0f05aaa2] p code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.badge.info[data-v-0f05aaa2] code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-primary)!important}.badge.info[data-v-0f05aaa2] a code{border-color:var(--elements-state-info-borderColor-primary)!important}.badge.info[data-v-0f05aaa2] a{border-color:currentColor}.badge.info[data-v-0f05aaa2] a code{background-color:var(--elements-state-info-backgroundColor-primary)!important}.badge.info[data-v-0f05aaa2] a:hover{border-color:currentColor!important;color:var(--elements-state-info-color-secondary)!important}.badge.info[data-v-0f05aaa2] a:hover code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;border-color:var(--elements-state-info-borderColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.badge.success[data-v-0f05aaa2]{background-color:var(--elements-state-success-backgroundColor-primary)!important;border-color:var(--elements-state-success-borderColor-primary)!important;color:var(--elements-state-success-color-primary)!important}.badge.success[data-v-0f05aaa2] p code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.badge.success[data-v-0f05aaa2] code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-primary)!important}.badge.success[data-v-0f05aaa2] a code{border-color:var(--elements-state-success-borderColor-primary)!important}.badge.success[data-v-0f05aaa2] a{border-color:currentColor}.badge.success[data-v-0f05aaa2] a code{background-color:var(--elements-state-success-backgroundColor-primary)!important}.badge.success[data-v-0f05aaa2] a:hover{border-color:currentColor!important;color:var(--elements-state-success-color-secondary)!important}.badge.success[data-v-0f05aaa2] a:hover code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;border-color:var(--elements-state-success-borderColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.badge.warning[data-v-0f05aaa2]{background-color:var(--elements-state-warning-backgroundColor-primary)!important;border-color:var(--elements-state-warning-borderColor-primary)!important;color:var(--elements-state-warning-color-primary)!important}.badge.warning[data-v-0f05aaa2] p code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.badge.warning[data-v-0f05aaa2] code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-primary)!important}.badge.warning[data-v-0f05aaa2] a code{border-color:var(--elements-state-warning-borderColor-primary)!important}.badge.warning[data-v-0f05aaa2] a{border-color:currentColor}.badge.warning[data-v-0f05aaa2] a code{background-color:var(--elements-state-warning-backgroundColor-primary)!important}.badge.warning[data-v-0f05aaa2] a:hover{border-color:currentColor!important;color:var(--elements-state-warning-color-secondary)!important}.badge.warning[data-v-0f05aaa2] a:hover code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;border-color:var(--elements-state-warning-borderColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.badge.danger[data-v-0f05aaa2]{background-color:var(--elements-state-danger-backgroundColor-primary)!important;border-color:var(--elements-state-danger-borderColor-primary)!important;color:var(--elements-state-danger-color-primary)!important}.badge.danger[data-v-0f05aaa2] p code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important}.badge.danger[data-v-0f05aaa2] code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-primary)!important}.badge.danger[data-v-0f05aaa2] a code{border-color:var(--elements-state-danger-borderColor-primary)!important}.badge.danger[data-v-0f05aaa2] a{border-color:currentColor}.badge.danger[data-v-0f05aaa2] a code{background-color:var(--elements-state-danger-backgroundColor-primary)!important}.badge.danger[data-v-0f05aaa2] a:hover{border-color:currentColor!important;color:var(--elements-state-danger-color-secondary)!important}.badge.danger[data-v-0f05aaa2] a:hover code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;border-color:var(--elements-state-danger-borderColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important} diff --git a/.output/public/_nuxt/BlockHero.5e04f7f2.js b/.output/public/_nuxt/BlockHero.5e04f7f2.js new file mode 100644 index 0000000000..643b8edde2 --- /dev/null +++ b/.output/public/_nuxt/BlockHero.5e04f7f2.js @@ -0,0 +1 @@ +import _ from"./ButtonLink.23e0d758.js";import m from"./Terminal.ab57a6bc.js";import f from"./VideoPlayer.0721ce38.js";import{r as n}from"./slot.51812f31.js";import{d as y,b as o,c as a,e as s,f as r,F as h,X as c,w as k,D as i,t as d,Z as v,k as $}from"./entry.19040e7f.js";import"./node.676c5e99.js";import"./NuxtImg.vue.aab88a57.js";const B={class:"block-hero"},w={class:"layout"},g={class:"content"},H={key:0,class:"announce"},S={class:"title"},q={class:"description"},V={key:1,class:"extra"},b={class:"actions"},x=["href"],A={class:"support"},C=y({__name:"BlockHero",props:{cta:{type:Array,required:!1,default:()=>[]},secondary:{type:Array,required:!1,default:()=>[]},video:{type:String,required:!1,default:""},snippet:{type:[Array,String],required:!1,default:""}},setup(e){return(t,N)=>{const l=_,u=m,p=f;return o(),a("section",B,[s("div",w,[s("div",g,[t.$slots.announce?(o(),a("p",H,[n(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",S,[n(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",q,[n(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),a("div",V,[n(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",b,[t.$slots.actions?n(t.$slots,"actions",{key:0,unwrap:"p"},void 0,!0):(o(),a(h,{key:1},[e.cta?(o(),c(l,{key:0,class:"cta",bold:"",size:"medium",href:e.cta[1]},{default:k(()=>[i(d(e.cta[0]),1)]),_:1},8,["href"])):r("",!0),e.secondary?(o(),a("a",{key:1,href:e.secondary[1],class:"secondary"},d(e.secondary[0]),9,x)):r("",!0)],64))])]),s("div",A,[v(t.$slots,"support",{},()=>[e.snippet?(o(),c(u,{key:0,content:e.snippet},null,8,["content"])):e.video?(o(),c(p,{key:1,src:e.video},null,8,["src"])):r("",!0)],!0)])])])}}});const P=$(C,[["__scopeId","data-v-537c80a6"]]);export{P as default}; diff --git a/.output/public/_nuxt/BlockHero.c90d4fc3.css b/.output/public/_nuxt/BlockHero.c90d4fc3.css new file mode 100644 index 0000000000..1c51721fb7 --- /dev/null +++ b/.output/public/_nuxt/BlockHero.c90d4fc3.css @@ -0,0 +1 @@ +.block-hero[data-v-537c80a6]{padding:var(--space-20) 0}@media (min-width:640px){.block-hero[data-v-537c80a6]{padding:var(--space-24) 0}}@media (min-width:1024px){.block-hero[data-v-537c80a6]{padding:var(--space-32) 0}}.block-hero .layout[data-v-537c80a6]{display:grid;gap:var(--space-16)}@media (min-width:1024px){.block-hero .layout[data-v-537c80a6]{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr))}.block-hero .content[data-v-537c80a6]{grid-column:span 2/span 2}}.block-hero .content .announce[data-v-537c80a6]{margin-bottom:var(--space-2);text-align:center}@media (min-width:1024px){.block-hero .content .announce[data-v-537c80a6]{text-align:start}}.block-hero .content .title[data-v-537c80a6]{color:var(--elements-text-primary-color-static);font-size:var(--text-4xl-fontSize);font-weight:var(--fontWeight-bold);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-4xl-lineHeight);margin-bottom:var(--space-8);padding-left:var(--space-8);padding-right:var(--space-8);text-align:center}@media (min-width:640px){.block-hero .content .title[data-v-537c80a6]{font-size:var(--text-5xl-fontSize);line-height:var(--text-5xl-lineHeight)}}@media (min-width:1024px){.block-hero .content .title[data-v-537c80a6]{font-size:var(--text-6xl-fontSize);line-height:var(--text-6xl-lineHeight);padding-left:var(--space-0);padding-right:var(--space-0);text-align:start}}.block-hero .content .description[data-v-537c80a6]{color:var(--elements-text-secondary-color-static);font-size:var(--text-lg-fontSize);line-height:var(--text-lg-lineHeight);margin-bottom:var(--space-12);padding-left:var(--space-2);padding-right:var(--space-2);text-align:center}@media (min-width:1024px){.block-hero .content .description[data-v-537c80a6]{text-align:start}}.block-hero .content .extra[data-v-537c80a6]{display:flex;justify-content:center;margin-bottom:var(--space-16)}@media (min-width:1024px){.block-hero .content .extra[data-v-537c80a6]{justify-content:flex-start}}.block-hero .content .actions[data-v-537c80a6]{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center}@media (min-width:640px){.block-hero .content .actions[data-v-537c80a6]{flex-direction:row;gap:var(--space-6)}}@media (min-width:1024px){.block-hero .content .actions[data-v-537c80a6]{justify-content:flex-start}}.block-hero .content .actions .cta[data-v-537c80a6]{margin-bottom:0}.block-hero .content .actions .secondary[data-v-537c80a6]{color:var(--elements-text-secondary-color-static);font-weight:var(--fontWeight-medium)}.block-hero .content .actions .secondary[data-v-537c80a6]:hover{color:var(--elements-text-secondary-color-hover)} diff --git a/.output/public/_nuxt/ButtonLink.23e0d758.js b/.output/public/_nuxt/ButtonLink.23e0d758.js new file mode 100644 index 0000000000..5b04e6ab24 --- /dev/null +++ b/.output/public/_nuxt/ButtonLink.23e0d758.js @@ -0,0 +1 @@ +import{d as p,a7 as _,I as a,Y as m,b as o,X as i,w as f,f as g,n as x,J as S,a8 as b,E as h,k}from"./entry.19040e7f.js";import{r as y}from"./slot.51812f31.js";import"./node.676c5e99.js";const z=p({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:_("primary"),href:{type:String,required:!0,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const s=a(()=>((t=n)=>`{color.${t.color}.600}`)()),r=a(()=>((t=n)=>`{color.${t.color}.500}`)()),n=e,l={size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}},{$pinceau:c}=m(n,l,{_YM9_buttonPrimary:s,_A23_buttonSecondary:r});return(t,H)=>{const u=b,d=h;return o(),i(d,{class:x(["button-link",[S(c)]]),to:e.href,target:e.blank?"_blank":void 0},{default:f(()=>[e.icon?(o(),i(u,{key:0,name:e.icon},null,8,["name"])):g("",!0),y(t.$slots,"default",{unwrap:"p ul li"},void 0,!0)]),_:3},8,["to","target","class"])}}});const C=k(z,[["__scopeId","data-v-d103c1ea"]]);export{C as default}; diff --git a/.output/public/_nuxt/ButtonLink.c4905621.css b/.output/public/_nuxt/ButtonLink.c4905621.css new file mode 100644 index 0000000000..6a6559240d --- /dev/null +++ b/.output/public/_nuxt/ButtonLink.c4905621.css @@ -0,0 +1 @@ +.button-link[data-v-d103c1ea]{--button-primary:var(---ym9-button-primary);--button-secondary:var(---a23-button-secondary);align-items:center;background-color:var(---ym9-button-primary);background-color:var(--button-primary);border:1px solid transparent;border-radius:var(--radii-md);color:var(--color-white);display:inline-flex;flex:none;font-weight:var(--fontWeight-bold);transition:color .1s ease-in-out}.button-link[data-v-d103c1ea]:hover{background-color:var(--button-secondary)}.button-link[data-v-d103c1ea]:focus{border:1px solid var(--button-primary)}.button-link .icon[data-v-d103c1ea]{margin-inline-end:var(--space-1)} diff --git a/.output/public/_nuxt/Callout.c1f75b95.css b/.output/public/_nuxt/Callout.c1f75b95.css new file mode 100644 index 0000000000..7953e8baaa --- /dev/null +++ b/.output/public/_nuxt/Callout.c1f75b95.css @@ -0,0 +1 @@ +.callout[data-v-e294706d]{border:1px solid;border-radius:var(--radii-md);font-size:var(--text-sm-fontSize);line-height:var(--text-sm-lineHeight);margin-bottom:var(--space-8);margin-top:var(--space-8);padding:var(--space-3) var(--space-4);position:relative}.callout.primary[data-v-e294706d]{background-color:var(--elements-state-primary-backgroundColor-primary)!important;border-color:var(--elements-state-primary-borderColor-primary)!important;color:var(--elements-state-primary-color-primary)!important}.callout.primary[data-v-e294706d] p code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.callout.primary[data-v-e294706d] code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-primary)!important}.callout.primary[data-v-e294706d] a code{border-color:var(--elements-state-primary-borderColor-primary)!important}.callout.primary[data-v-e294706d] a{border-color:currentColor}.callout.primary[data-v-e294706d] a code{background-color:var(--elements-state-primary-backgroundColor-primary)!important}.callout.primary[data-v-e294706d] a:hover{border-color:currentColor!important;color:var(--elements-state-primary-color-secondary)!important}.callout.primary[data-v-e294706d] a:hover code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;border-color:var(--elements-state-primary-borderColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}.callout.info[data-v-e294706d]{background-color:var(--elements-state-info-backgroundColor-primary)!important;border-color:var(--elements-state-info-borderColor-primary)!important;color:var(--elements-state-info-color-primary)!important}.callout.info[data-v-e294706d] p code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.callout.info[data-v-e294706d] code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;color:var(--elements-state-info-color-primary)!important}.callout.info[data-v-e294706d] a code{border-color:var(--elements-state-info-borderColor-primary)!important}.callout.info[data-v-e294706d] a{border-color:currentColor}.callout.info[data-v-e294706d] a code{background-color:var(--elements-state-info-backgroundColor-primary)!important}.callout.info[data-v-e294706d] a:hover{border-color:currentColor!important;color:var(--elements-state-info-color-secondary)!important}.callout.info[data-v-e294706d] a:hover code{background-color:var(--elements-state-info-backgroundColor-secondary)!important;border-color:var(--elements-state-info-borderColor-secondary)!important;color:var(--elements-state-info-color-secondary)!important}.callout.success[data-v-e294706d]{background-color:var(--elements-state-success-backgroundColor-primary)!important;border-color:var(--elements-state-success-borderColor-primary)!important;color:var(--elements-state-success-color-primary)!important}.callout.success[data-v-e294706d] p code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.callout.success[data-v-e294706d] code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;color:var(--elements-state-success-color-primary)!important}.callout.success[data-v-e294706d] a code{border-color:var(--elements-state-success-borderColor-primary)!important}.callout.success[data-v-e294706d] a{border-color:currentColor}.callout.success[data-v-e294706d] a code{background-color:var(--elements-state-success-backgroundColor-primary)!important}.callout.success[data-v-e294706d] a:hover{border-color:currentColor!important;color:var(--elements-state-success-color-secondary)!important}.callout.success[data-v-e294706d] a:hover code{background-color:var(--elements-state-success-backgroundColor-secondary)!important;border-color:var(--elements-state-success-borderColor-secondary)!important;color:var(--elements-state-success-color-secondary)!important}.callout.warning[data-v-e294706d]{background-color:var(--elements-state-warning-backgroundColor-primary)!important;border-color:var(--elements-state-warning-borderColor-primary)!important;color:var(--elements-state-warning-color-primary)!important}.callout.warning[data-v-e294706d] p code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.callout.warning[data-v-e294706d] code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;color:var(--elements-state-warning-color-primary)!important}.callout.warning[data-v-e294706d] a code{border-color:var(--elements-state-warning-borderColor-primary)!important}.callout.warning[data-v-e294706d] a{border-color:currentColor}.callout.warning[data-v-e294706d] a code{background-color:var(--elements-state-warning-backgroundColor-primary)!important}.callout.warning[data-v-e294706d] a:hover{border-color:currentColor!important;color:var(--elements-state-warning-color-secondary)!important}.callout.warning[data-v-e294706d] a:hover code{background-color:var(--elements-state-warning-backgroundColor-secondary)!important;border-color:var(--elements-state-warning-borderColor-secondary)!important;color:var(--elements-state-warning-color-secondary)!important}.callout.danger[data-v-e294706d]{background-color:var(--elements-state-danger-backgroundColor-primary)!important;border-color:var(--elements-state-danger-borderColor-primary)!important;color:var(--elements-state-danger-color-primary)!important}.callout.danger[data-v-e294706d] p code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important}.callout.danger[data-v-e294706d] code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;color:var(--elements-state-danger-color-primary)!important}.callout.danger[data-v-e294706d] a code{border-color:var(--elements-state-danger-borderColor-primary)!important}.callout.danger[data-v-e294706d] a{border-color:currentColor}.callout.danger[data-v-e294706d] a code{background-color:var(--elements-state-danger-backgroundColor-primary)!important}.callout.danger[data-v-e294706d] a:hover{border-color:currentColor!important;color:var(--elements-state-danger-color-secondary)!important}.callout.danger[data-v-e294706d] a:hover code{background-color:var(--elements-state-danger-backgroundColor-secondary)!important;border-color:var(--elements-state-danger-borderColor-secondary)!important;color:var(--elements-state-danger-color-secondary)!important}.callout .preview[data-v-e294706d]{align-items:center;cursor:pointer;display:flex;justify-content:space-between}.callout .preview .summary[data-v-e294706d] p{margin:0}.callout .preview .summary[data-v-e294706d] p+p{margin-top:var(--space-2)}.callout .preview .icon[data-v-e294706d]{height:var(--space-5);transition:transform .1s;width:var(--space-5)}.callout .preview .icon.rotate[data-v-e294706d]{transform:rotate(90deg)}.callout .content[data-v-e294706d]{padding-top:var(--space-3)}.callout .content[data-v-e294706d] p{margin:0}.callout .content[data-v-e294706d] p+p{margin-top:var(--space-2)} diff --git a/.output/public/_nuxt/Callout.fd7477fb.js b/.output/public/_nuxt/Callout.fd7477fb.js new file mode 100644 index 0000000000..9654e96f80 --- /dev/null +++ b/.output/public/_nuxt/Callout.fd7477fb.js @@ -0,0 +1 @@ +import{d as _,r as o,b as p,c as f,e as t,g as v,n,J as l,am as g,an as h,a8 as y,k as C}from"./entry.19040e7f.js";import{r}from"./slot.51812f31.js";import"./node.676c5e99.js";const V={class:"summary"},k={class:"content"},w=_({__name:"Callout",props:{type:{type:String,default:"info",validator(s){return["info","success","warning","danger","primary"].includes(s)}},modelValue:{required:!1,default:()=>o(!1)}},emits:["update:modelValue"],setup(s,{emit:c}){const i=s,u=c,e=o(i.modelValue),d=()=>{e.value=!e.value,u("update:modelValue",e.value)};return(a,x)=>{const m=y;return p(),f("div",{class:n(["callout",[s.type]])},[t("span",{class:"preview",onClick:d},[t("span",V,[r(a.$slots,"summary",{},void 0,!0)]),v(m,{name:"heroicons-outline:chevron-right",class:n(["icon",[l(e)&&"rotate"]])},null,8,["class"])]),g(t("div",k,[r(a.$slots,"content",{},void 0,!0)],512),[[h,l(e)]])],2)}}});const N=C(w,[["__scopeId","data-v-e294706d"]]);export{N as default}; diff --git a/.output/public/_nuxt/Card.a46436ac.js b/.output/public/_nuxt/Card.a46436ac.js new file mode 100644 index 0000000000..18e7648780 --- /dev/null +++ b/.output/public/_nuxt/Card.a46436ac.js @@ -0,0 +1 @@ +import{d as c,b as s,c as d,X as _,f as i,Z as l,e as t,a8 as p,D as a,k as u}from"./entry.19040e7f.js";import{r as n}from"./slot.51812f31.js";import"./node.676c5e99.js";const m={class:"card"},f={class:"title"},C={class:"description"},v=c({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,h)=>{const r=p;return s(),d("div",m,[o.icon?(s(),_(r,{key:0,name:o.icon},null,8,["name"])):i("",!0),l(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[n(e.$slots,"title",{unwrap:"p"},()=>[a(" Card title ")],!0)]),t("p",C,[n(e.$slots,"description",{unwrap:"p"},()=>[a(" Card description ")],!0)])])])}}});const $=u(v,[["__scopeId","data-v-34524c46"]]);export{$ as default}; diff --git a/.output/public/_nuxt/Card.aa172920.css b/.output/public/_nuxt/Card.aa172920.css new file mode 100644 index 0000000000..5859278b0b --- /dev/null +++ b/.output/public/_nuxt/Card.aa172920.css @@ -0,0 +1 @@ +.card[data-v-34524c46]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background:var(--elements-backdrop-background);border:1px solid var(--elements-border-primary-static);border-radius:var(--radii-xl);display:block;padding:var(--space-8);position:relative;width:100%}.card .icon[data-v-34524c46]{display:inline-block;height:var(--space-6);width:var(--space-6)}.card .icon[data-v-34524c46],.card .title[data-v-34524c46]{margin-bottom:var(--space-2)}.card .title[data-v-34524c46]{color:var(--elements-text-primary-color-static);font-size:var(--text-lg-fontSize);font-weight:var(--fontWeight-semibold);line-height:var(--text-lg-lineHeight)}.card .description[data-v-34524c46]{color:var(--elements-text-secondary-color-static);font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-sm-lineHeight)} diff --git a/.output/public/_nuxt/CardGrid.4bc87347.css b/.output/public/_nuxt/CardGrid.4bc87347.css new file mode 100644 index 0000000000..4299ea06dd --- /dev/null +++ b/.output/public/_nuxt/CardGrid.4bc87347.css @@ -0,0 +1 @@ +.card-grid[data-v-f9e22db6]{padding-bottom:var(--space-20);position:relative}@media (min-width:640px){.card-grid[data-v-f9e22db6]{padding-bottom:var(--space-24)}}@media (min-width:1024px){.card-grid[data-v-f9e22db6]{padding-bottom:var(--space-32)}}.card-grid .title[data-v-f9e22db6]{color:var(--elements-text-primary-color-static);font-size:var(--text-3xl-fontSize);font-weight:var(--fontWeight-bold);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-3xl-lineHeight);margin-bottom:var(--space-8)}@media (min-width:640px){.card-grid .title[data-v-f9e22db6]{font-size:var(--text-4xl-fontSize);line-height:var(--text-4xl-lineHeight)}}.card-grid .layout[data-v-f9e22db6]{display:grid;gap:var(--space-4);text-align:start}@media (min-width:640px){.card-grid .layout[data-v-f9e22db6]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.card-grid .layout[data-v-f9e22db6]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.card-grid .layout[data-v-f9e22db6]{gap:var(--space-8)}} diff --git a/.output/public/_nuxt/CardGrid.7053b1eb.js b/.output/public/_nuxt/CardGrid.7053b1eb.js new file mode 100644 index 0000000000..5b7b30067a --- /dev/null +++ b/.output/public/_nuxt/CardGrid.7053b1eb.js @@ -0,0 +1 @@ +import{r as t}from"./slot.51812f31.js";import{d as r,b as a,c as d,e as s,Z as i,D as n,t as _,k as l}from"./entry.19040e7f.js";import"./node.676c5e99.js";const c={class:"card-grid"},p={class:"title"},u={class:"layout"},f=r({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(o){return(e,m)=>(a(),d("section",c,[t(e.$slots,"root",{},void 0,!0),s("h2",p,[t(e.$slots,"title",{unwrap:"p"},()=>[n(_(o.title),1)],!0)]),s("div",u,[i(e.$slots,"default",{},void 0,!0)])]))}});const g=l(f,[["__scopeId","data-v-f9e22db6"]]);export{g as default}; diff --git a/.output/public/_nuxt/CodeBlock.8933957c.js b/.output/public/_nuxt/CodeBlock.8933957c.js new file mode 100644 index 0000000000..a90b31d144 --- /dev/null +++ b/.output/public/_nuxt/CodeBlock.8933957c.js @@ -0,0 +1 @@ +import{d as t,b as a,c as l,Z as s,n as c,k as d}from"./entry.19040e7f.js";const n=t({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,r)=>(a(),l("div",{class:c(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(o.$slots,"default",{},void 0,!0)],2))}});const p=d(n,[["__scopeId","data-v-22d00392"]]);export{p as default}; diff --git a/.output/public/_nuxt/CodeBlock.e43dab4c.css b/.output/public/_nuxt/CodeBlock.e43dab4c.css new file mode 100644 index 0000000000..727ca31cf6 --- /dev/null +++ b/.output/public/_nuxt/CodeBlock.e43dab4c.css @@ -0,0 +1 @@ +.code-block[data-v-22d00392]{display:none}.code-block.active[data-v-22d00392]{display:block} diff --git a/.output/public/_nuxt/CodeGroup.84e49b07.js b/.output/public/_nuxt/CodeGroup.84e49b07.js new file mode 100644 index 0000000000..1eb1980db7 --- /dev/null +++ b/.output/public/_nuxt/CodeGroup.84e49b07.js @@ -0,0 +1 @@ +import v from"./TabsHeader.9f8ec2e7.js";import{d as o,N as r,k as u}from"./entry.19040e7f.js";const d=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,b=o({data(){return{activeTabIndex:0,counter:0}},render(){var c,s;const n=((s=(c=this.$slots)==null?void 0:c.default)==null?void 0:s.call(c))||[],i=n.map((e,p)=>{var a,t,_;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((t=e==null?void 0:e.props)==null?void 0:t.label)||`${p}`,active:((_=e==null?void 0:e.props)==null?void 0:_.active)||!1,component:e}});return r("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[r(v,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),r("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,t;return r("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!d(e,"code")&&!d(e,"pre")}},[d(e,"code")||d(e,"pre")?e:r("div",{class:{"preview-canvas":!0}},[((t=(a=e.children)==null?void 0:a.default)==null?void 0:t.call(a))||e.children])])}))])}});const m=u(b,[["__scopeId","data-v-a562a098"]]);export{m as default}; diff --git a/.output/public/_nuxt/CodeGroup.eba43c0e.css b/.output/public/_nuxt/CodeGroup.eba43c0e.css new file mode 100644 index 0000000000..4744877d8d --- /dev/null +++ b/.output/public/_nuxt/CodeGroup.eba43c0e.css @@ -0,0 +1 @@ +.code-group[data-v-a562a098]{border:1px solid var(--elements-border-secondary-static);border-radius:var(--radii-md);overflow:hidden}.code-group[data-v-a562a098] .prose-code{border:none;border-radius:0;margin:0}.code-group[data-v-a562a098] .filename{display:none}.code-group .preview-canvas[data-v-a562a098]{padding:var(--space-4)}.code-group .preview-canvas[data-v-a562a098]:has(.sandbox){padding:0}.code-group .preview-canvas[data-v-a562a098]:has(.sandbox) .sandbox{border:0;border-radius:0} diff --git a/.output/public/_nuxt/ComponentPlayground.02ad673c.css b/.output/public/_nuxt/ComponentPlayground.02ad673c.css new file mode 100644 index 0000000000..710bd4beb9 --- /dev/null +++ b/.output/public/_nuxt/ComponentPlayground.02ad673c.css @@ -0,0 +1 @@ +.ellipsis[data-v-5fd4c706]{filter:var(---jfd-filter);height:var(---t33-height);inset-inline-end:var(---if-b-inset-inline-end);inset-inline-start:var(---eih-inset-inline-start);max-width:var(---wj8-max-width);pointer-events:none;position:absolute;top:var(---c-cn-top);width:-webkit-fill-available;z-index:var(---ss-e-z-index)}.ellipsis .ellipsis-item[data-v-5fd4c706]{background:var(---y-uj-background);height:100%;width:100%}.component-playground[data-v-9ca9b996]{border:1px solid var(--color-gray-200);border-radius:var(--radii-lg);overflow:hidden}:root.dark .component-playground[data-v-9ca9b996]{border:1px solid var(--color-gray-800)}.component-playground .component-playground-wrapper[data-v-9ca9b996]{background:linear-gradient(330deg,var(--color-gray-200) 0,var(--color-gray-100) 100%);overflow:hidden;padding:var(--space-8);position:relative}:root.dark .component-playground .component-playground-wrapper[data-v-9ca9b996]{background:linear-gradient(330deg,var(--color-gray-900) 0,var(--color-gray-800) 100%)}.component-playground .component-playground-wrapper .component-playground-ellipsis[data-v-9ca9b996]{z-index:1}.component-playground .component-playground-wrapper .component-playground-component[data-v-9ca9b996]{z-index:50} diff --git a/.output/public/_nuxt/ComponentPlayground.eab48243.js b/.output/public/_nuxt/ComponentPlayground.eab48243.js new file mode 100644 index 0000000000..1dcabfdc4d --- /dev/null +++ b/.output/public/_nuxt/ComponentPlayground.eab48243.js @@ -0,0 +1 @@ +import{J as m,ap as S,I as a,d as u,Y as b,b as $,c as I,n as w,p as P,i as C,e as x,k as f,a1 as E,r as D,N as c}from"./entry.19040e7f.js";import j from"./ComponentPlaygroundData.701e7c5c.js";import"./TabsHeader.9f8ec2e7.js";import"./ComponentPlaygroundProps.9f12d381.js";import"./ProseH4.407e72c2.js";import"./ProseCodeInline.ce59fb31.js";import"./Badge.78c87494.js";import"./slot.51812f31.js";import"./node.676c5e99.js";import"./ProseP.b61fc7b8.js";import"./ComponentPlaygroundSlots.vue.181ed5b3.js";import"./ComponentPlaygroundTokens.vue.4efbe41a.js";async function z(e){const n=m(e);{const{data:o}=await S(`nuxt-component-meta${n?`-${n}`:""}`,()=>$fetch(`/api/component-meta${n?`/${n}`:""}`));return a(()=>o.value)}}const B=e=>(P("data-v-5fd4c706"),e=e(),C(),e),N=B(()=>x("div",{class:"ellipsis-item"},null,-1)),k=[N],V=u({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(e){const n=a(()=>((t=s)=>t.top)()),o=a(()=>((t=s)=>t.left)()),r=a(()=>((t=s)=>t.right)()),i=a(()=>((t=s)=>t.zIndex)()),l=a(()=>((t=s)=>t.width)()),g=a(()=>((t=s)=>t.height)()),y=a(()=>((t=s)=>`blur(${t.blur})`)()),h=a(()=>((t=s)=>{var p,d,_;return`linear-gradient(97.62deg, ${(p=t==null?void 0:t.colors)==null?void 0:p[0]} 2.27%, ${(d=t==null?void 0:t.colors)==null?void 0:d[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),s=e,{$pinceau:v}=b(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:y,_yUj_background:h});return(t,p)=>($(),I("div",{class:w(["ellipsis",[m(v)]])},k,2))}});const q=f(V,[["__scopeId","data-v-5fd4c706"]]),A=u({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>E(e.component)),o=D({...e.props}),r=await z(e.component);return{as:n,formProps:o,componentData:r}},render(e){const n=Object.entries(this.$slots).reduce((o,[r,i])=>{if(r.startsWith("component-")){const l=r.replace("component-","");o[l]=i}return o},{});return c("div",{class:"component-playground"},[c("div",{class:"component-playground-wrapper"},[c(q,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),c(e.as,{...e.formProps,class:"component-playground-component"},{...n})]),c(j,{modelValue:e.formProps,componentData:e.componentData,"onUpdate:modelValue":o=>e.formProps=o})])}});const Q=f(A,[["__scopeId","data-v-9ca9b996"]]);export{Q as default}; diff --git a/.output/public/_nuxt/ComponentPlaygroundData.2ba66f99.css b/.output/public/_nuxt/ComponentPlaygroundData.2ba66f99.css new file mode 100644 index 0000000000..733be92a3f --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundData.2ba66f99.css @@ -0,0 +1 @@ +.component-playground-data .component-playground-data-section[data-v-ff75821c]{padding:var(--space-4)}:root.dark .component-playground-data .component-playground-data-section[data-v-ff75821c]{background-color:var(--color-gray-900)} diff --git a/.output/public/_nuxt/ComponentPlaygroundData.701e7c5c.js b/.output/public/_nuxt/ComponentPlaygroundData.701e7c5c.js new file mode 100644 index 0000000000..1dd0c4c81a --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundData.701e7c5c.js @@ -0,0 +1 @@ +import b from"./TabsHeader.9f8ec2e7.js";import g from"./ComponentPlaygroundProps.9f12d381.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.181ed5b3.js";import{_ as x}from"./ComponentPlaygroundTokens.vue.4efbe41a.js";import{d as k,ar as D,r as V,b as n,c as C,g as P,J as o,X as m,as as T,f as s,k as B}from"./entry.19040e7f.js";import"./ProseH4.407e72c2.js";import"./ProseCodeInline.ce59fb31.js";import"./Badge.78c87494.js";import"./slot.51812f31.js";import"./node.676c5e99.js";import"./ProseP.b61fc7b8.js";const I={class:"component-playground-data"},j=k({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const a=D(t,"modelValue",p),e=V(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=c=>e.value=c;return(c,l)=>{const u=b,_=g,i=v,f=x;return n(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(n(),m(_,{key:0,modelValue:o(a),"onUpdate:modelValue":l[0]||(l[0]=y=>T(a)?a.value=y:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}});const w=B(j,[["__scopeId","data-v-ff75821c"]]);export{w as default}; diff --git a/.output/public/_nuxt/ComponentPlaygroundProps.54f42c7a.css b/.output/public/_nuxt/ComponentPlaygroundProps.54f42c7a.css new file mode 100644 index 0000000000..9fbb22e1a2 --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundProps.54f42c7a.css @@ -0,0 +1 @@ +.prop-title[data-v-acf5a6ce]{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.prop-title[data-v-acf5a6ce],.prop-title h4[data-v-acf5a6ce]{margin-bottom:var(--space-4);margin-top:var(--space-4)}.prop-title h4[data-v-acf5a6ce]{font-size:var(--fontSize-2xl);font-weight:var(--fontWeight-black);line-height:1}@mq .md{.prop-title h4[data-v-acf5a6ce]{margin-bottom:var(--space-0);margin-top:var(--space-0)}}.prop-title span[data-v-acf5a6ce]{align-items:center;display:flex;gap:var(--space-4)}@mq .md{.prop-title[data-v-acf5a6ce]{flex-direction:row;justify-content:space-between}}input[data-v-acf5a6ce]{border:1px solid var(--color-gray-200);border-radius:var(--radii-sm);padding:var(--space-1) var(--space-2)}:root.dark input[data-v-acf5a6ce]{border:1px solid var(--color-gray-800)} diff --git a/.output/public/_nuxt/ComponentPlaygroundProps.9f12d381.js b/.output/public/_nuxt/ComponentPlaygroundProps.9f12d381.js new file mode 100644 index 0000000000..957513dbdd --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundProps.9f12d381.js @@ -0,0 +1 @@ +import k from"./ProseH4.407e72c2.js";import B from"./ProseCodeInline.ce59fb31.js";import D from"./Badge.78c87494.js";import q from"./ProseP.b61fc7b8.js";import{d as N,ar as b,I,b as o,c as r,F as j,ah as w,J as d,e as m,g as i,w as s,D as _,t as u,X as l,f as p,k as F}from"./entry.19040e7f.js";import"./slot.51812f31.js";import"./node.676c5e99.js";const O={class:"component-playground-data-section"},E=["id"],H=["value","onChange"],J=N({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:g}){const a=f,c=b(a,"modelValue",g),y=(t,n)=>{c.value={...c.value,[n]:t.target.value}},v=I(()=>{var t,n;return(n=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:n.props});return(t,n)=>{const x=k,h=B,C=D,P=q;return o(),r("div",O,[(o(!0),r(j,null,w(d(v),e=>(o(),r("div",{key:e.name},[m("div",{id:e.name,class:"prop-title"},[i(x,{id:e.name},{default:s(()=>[_(u(e.name),1)]),_:2},1032,["id"]),m("span",null,[i(h,null,{default:s(()=>[_(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),l(C,{key:0},{default:s(()=>[_(" Required ")]),_:1}))])],8,E),e.description?(o(),l(P,{key:0},{default:s(()=>[_(u(e.description),1)]),_:2},1024)):p("",!0),m("input",{value:d(c)[e.name],onChange:V=>y(V,e.name)},null,40,H)]))),128))])}}});const A=F(J,[["__scopeId","data-v-acf5a6ce"]]);export{A as default}; diff --git a/.output/public/_nuxt/ComponentPlaygroundSlots.a71310cd.js b/.output/public/_nuxt/ComponentPlaygroundSlots.a71310cd.js new file mode 100644 index 0000000000..79e20a5bda --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundSlots.a71310cd.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundSlots.vue.181ed5b3.js";import"./entry.19040e7f.js";export{m as default}; diff --git a/.output/public/_nuxt/ComponentPlaygroundSlots.vue.181ed5b3.js b/.output/public/_nuxt/ComponentPlaygroundSlots.vue.181ed5b3.js new file mode 100644 index 0000000000..2f63890c75 --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundSlots.vue.181ed5b3.js @@ -0,0 +1 @@ +import{d as t,b as n,c as o,e as a,t as s}from"./entry.19040e7f.js";const r={class:"component-playground-data-section"},i=t({__name:"ComponentPlaygroundSlots",props:{componentData:{type:Object,required:!0}},setup(e){return(c,p)=>(n(),o("div",r,[a("pre",null,s(JSON.stringify(e.componentData,null,2)),1)]))}});export{i as _}; diff --git a/.output/public/_nuxt/ComponentPlaygroundTokens.000c6991.js b/.output/public/_nuxt/ComponentPlaygroundTokens.000c6991.js new file mode 100644 index 0000000000..46c49c06a5 --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundTokens.000c6991.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundTokens.vue.4efbe41a.js";import"./entry.19040e7f.js";export{m as default}; diff --git a/.output/public/_nuxt/ComponentPlaygroundTokens.vue.4efbe41a.js b/.output/public/_nuxt/ComponentPlaygroundTokens.vue.4efbe41a.js new file mode 100644 index 0000000000..fcdaa83c6e --- /dev/null +++ b/.output/public/_nuxt/ComponentPlaygroundTokens.vue.4efbe41a.js @@ -0,0 +1 @@ +import{d as t,b as o,c as n,t as a}from"./entry.19040e7f.js";const c={class:"component-playground-data-section"},m=t({__name:"ComponentPlaygroundTokens",props:{componentData:{type:Object,required:!0}},setup(e){return(s,r)=>(o(),n("div",c,a(e.componentData),1))}});export{m as _}; diff --git a/.output/public/_nuxt/ContentDoc.5f6b7391.js b/.output/public/_nuxt/ContentDoc.5f6b7391.js new file mode 100644 index 0000000000..286675c11f --- /dev/null +++ b/.output/public/_nuxt/ContentDoc.5f6b7391.js @@ -0,0 +1 @@ +import{d as C,l as g,a0 as v,au as D,s as w,N as o,W as p}from"./entry.19040e7f.js";import _ from"./ContentRenderer.3ec87499.js";import S from"./ContentQuery.3e783c0e.js";import"./ContentRendererMarkdown.vue.41c2c305.js";const q=C({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(f){const{contentHead:c}=g().public.content,e=v(),{tag:m,excerpt:i,path:s,query:a,head:u}=f,r=u===void 0?c:u,l={...a||{},path:s||(a==null?void 0:a.path)||D(w().path),find:"one"},h=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(S,l,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:y})=>{var d;return r&&p(t),(d=e.default)==null?void 0:d.call(e,{doc:t,refresh:n,isPartial:y,excerpt:i,...this.$attrs})}:({data:t})=>(r&&p(t),o(_,{value:t,excerpt:i,tag:m,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):h("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),b=q;export{b as default}; diff --git a/.output/public/_nuxt/ContentList.6e5b3a19.js b/.output/public/_nuxt/ContentList.6e5b3a19.js new file mode 100644 index 0000000000..9cda138237 --- /dev/null +++ b/.output/public/_nuxt/ContentList.6e5b3a19.js @@ -0,0 +1 @@ +import m from"./ContentQuery.3e783c0e.js";import{d as c,a0 as l,N as r}from"./entry.19040e7f.js";const f=(u,t)=>r("pre",null,JSON.stringify({message:"You should use slots with ",slot:u,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(u){const t=l(),{path:p,query:a}=u,d={...a||{},path:p||(a==null?void 0:a.path)||"/"};return r(m,d,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>f("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):f("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):f("not-found",e==null?void 0:e.data)}})}}),_=h;export{_ as default}; diff --git a/.output/public/_nuxt/ContentNavigation.5611a04e.js b/.output/public/_nuxt/ContentNavigation.5611a04e.js new file mode 100644 index 0000000000..bd66fc4c92 --- /dev/null +++ b/.output/public/_nuxt/ContentNavigation.5611a04e.js @@ -0,0 +1 @@ +import{d,av as l,I as v,m as f,V as p,ap as m,ax as g,aw as h,a0 as y,N as u,E as _}from"./entry.19040e7f.js";const C=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(i){const{query:a}=l(i),n=v(()=>{var t;return typeof((t=a.value)==null?void 0:t.params)=="function"?a.value.params():a.value});if(!n.value&&f("dd-navigation").value){const{navigation:t}=p();return{navigation:t}}const{data:o}=await m(`content-navigation-${h(n.value)}`,()=>g(n.value));return{navigation:o}},render(i){const a=y(),{navigation:n}=i,o=e=>u(_,{to:e._path},()=>e.title),t=(e,r)=>u("ul",r?{"data-level":r}:null,e.map(s=>s.children?u("li",null,[o(s),t(s.children,r+1)]):u("li",null,o(s)))),c=e=>t(e,0);return a!=null&&a.default?a.default({navigation:n,...this.$attrs}):c(n)}}),q=C;export{q as default}; diff --git a/.output/public/_nuxt/ContentQuery.3e783c0e.js b/.output/public/_nuxt/ContentQuery.3e783c0e.js new file mode 100644 index 0000000000..2944a908f9 --- /dev/null +++ b/.output/public/_nuxt/ContentQuery.3e783c0e.js @@ -0,0 +1 @@ +import{d as g,av as C,I as S,l as b,$ as N,ap as _,q as m,aw as $,a0 as k,N as A}from"./entry.19040e7f.js";const O=g({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(i){const{path:t,only:r,without:o,where:u,sort:l,limit:d,skip:f,locale:s,find:h}=C(i),y=S(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),p=!b().public.content.experimental.advanceQuery;N(()=>i,()=>n(),{deep:!0});const a=e=>p?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await _(`content-query-${$(i)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),l.value&&(e=e.sort(l.value)),d.value&&(e=e.limit(d.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(a):h.value==="surround"?t.value?p?e.findSurround(t.value):e.withSurround(t.value).findOne().then(a):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(a)):e.find().then(a)});return{isPartial:y,data:v,refresh:n}},render(i){var c;const t=k(),{data:r,refresh:o,isPartial:u,path:l,only:d,without:f,where:s,sort:h,limit:y,skip:p,locale:a,find:v}=i,n={path:l,only:d,without:f,where:s,sort:h,limit:y,skip:p,locale:a,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>A("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),R=O;export{R as default}; diff --git a/.output/public/_nuxt/ContentRenderer.3ec87499.js b/.output/public/_nuxt/ContentRenderer.3ec87499.js new file mode 100644 index 0000000000..82b6f17119 --- /dev/null +++ b/.output/public/_nuxt/ContentRenderer.3ec87499.js @@ -0,0 +1 @@ +import{_ as l}from"./ContentRendererMarkdown.vue.41c2c305.js";import{d as o,$ as s,a0 as d,N as f}from"./entry.19040e7f.js";const y=o({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,a,u;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(a=t==null?void 0:t.value)==null?void 0:a._path}.${(u=t==null?void 0:t.value)==null?void 0:u._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var i,c;const n=d(),{value:e,excerpt:a,tag:u}=t,r=a?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((i=r==null?void 0:r.children)!=null&&i.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:a,tag:u,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:a,tag:u,...this.$attrs}):(r==null?void 0:r.type)==="root"&&((c=r==null?void 0:r.children)!=null&&c.length)?f(l,{value:e,excerpt:a,tag:u,...this.$attrs}):f("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:a,tag:u},null,2))}});export{y as default}; diff --git a/.output/public/_nuxt/ContentRendererMarkdown.805a6967.js b/.output/public/_nuxt/ContentRendererMarkdown.805a6967.js new file mode 100644 index 0000000000..ee28d620cd --- /dev/null +++ b/.output/public/_nuxt/ContentRendererMarkdown.805a6967.js @@ -0,0 +1 @@ +import{_ as m}from"./ContentRendererMarkdown.vue.41c2c305.js";import"./entry.19040e7f.js";export{m as default}; diff --git a/.output/public/_nuxt/ContentRendererMarkdown.vue.41c2c305.js b/.output/public/_nuxt/ContentRendererMarkdown.vue.41c2c305.js new file mode 100644 index 0000000000..0397f77cc9 --- /dev/null +++ b/.output/public/_nuxt/ContentRendererMarkdown.vue.41c2c305.js @@ -0,0 +1 @@ +import{d as z,l as J,B as G,I as x,N as E,a1 as Q,a2 as I,a3 as w,a4 as nn,s as ln,a5 as en,a6 as on,b as tn,X as rn,J as an}from"./entry.19040e7f.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function j(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&dn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(U,fn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!U.test(a)){let i=a.replace(gn,mn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=R}return new r(t,l)}function mn(n){return"-"+n.toLowerCase()}function fn(n){return n.charAt(1).toUpperCase()}const yn=j([F,H,q,W,cn],"html");j([F,H,q,W,pn],"svg");const T=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],M="default",K=/^@|^v-on:/,X=/^:|^v-bind:/,Y=/^v-model/,vn=["select","textarea","input"],bn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),kn=z({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var r,a;const{mdc:l}=J().public,o={...l.components.prose&&n.prose!==!1?bn:{},...l.components.map,...G(((a=(r=n.data)==null?void 0:r.mdc)==null?void 0:a.components)||{}),...n.components},t=x(()=>{var s;const i=(((s=n.body)==null?void 0:s.children)||[]).map(c=>c.tag||c.type).filter(c=>!T.includes(c));return Array.from(new Set(i)).sort().join(".")});return await Tn(n.body,{tags:o}),{tags:o,contentKey:t}},render(n){var h,y,d;const{tags:l,tag:o,body:t,data:r,contentKey:a}=n;if(!t)return null;const i={...r,tags:l},s=o!==!1?A(o||((h=i.component)==null?void 0:h.name)||i.component||"div"):void 0,c=$(t,E,i,i);return s?E(s,{...(y=i.component)==null?void 0:y.props,...this.$attrs,key:a},c):(d=c.default)==null?void 0:d.call(c)}});function Cn(n,l,o,t={}){if(n.type==="text")return l(w,n.value);const r=n.tag,a=Z(n,o.tags);if(n.tag==="binding")return Sn(n,l,o,t);const i=A(a);typeof i=="object"&&(i.tag=r);const s=xn(n,o);return l(i,s,$(n,l,o,{...t,...s}))}function Sn(n,l,o,t={}){var h,y;const r={...t,$route:()=>ln(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((h=n.props)==null?void 0:h.value.trim().split(a).filter(Boolean)).reduce((d,b)=>b in d?typeof d[b]=="function"?d[b]():d[b]:{},r),c=(y=n.props)==null?void 0:y.defaultValue;return l(w,s??c??"")}function $(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Mn(c))return s[M].push(c),s;const h=Ln(c);return s[h]=s[h]||[],c.type==="element"&&s[h].push(...c.children||[]),s},{[M]:[]});return Object.entries(a).reduce((s,[c,h])=>(h.length&&(s[c]=()=>{const y=h.map(d=>Cn(d,l,o,t));return Rn(y)}),s),{})}function xn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(Y.test(a)&&!vn.includes(o))return wn(a,i,r,l);if(a==="v-bind")return Pn(a,i,r,l);if(K.test(a))return On(a,i,r,l);if(X.test(a))return Dn(a,i,r,l);const{attribute:s}=hn(yn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function wn(n,l,o,t){const r=d=>+d,a=d=>d.trim(),i=d=>d,s=n.replace(Y,"").split(".").filter(d=>d).reduce((d,b)=>(d[b]=!0,d),{}),c="value",h=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[c]=P(l,t),o.on=o.on||{},o.on[h]=d=>t[l]=y(d),o}function Pn(n,l,o,t){const r=P(l,t);return o=Object.assign(o,r),o}function On(n,l,o,t){return n=n.replace(K,""),o.on=o.on||{},o.on[n]=()=>P(l,t),o}function Dn(n,l,o,t){return n=n.replace(X,""),o[n]=P(l,t),o}const A=n=>{if(!T.includes(n)&&!(n!=null&&n.render)){const l=Q(I(n),!1);if(typeof l=="object")return l}return n};function P(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?en(n):o}function Ln(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||M}function Mn(n){return n.tag==="template"}function Rn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===w&&(t==null?void 0:t.type)===w?t.children=t.children+o.children:l.push(o)}return l}async function Tn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=A(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding")return[];const s=Z(r,a.tags),c=[];r.type!=="root"&&!T.includes(s)&&c.push(s);for(const h of r.children||[])c.push(...t(h,a));return c}}function Z(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[I(o)]||l[nn(n.tag)]||o}const En=z({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=on().isEnabled(),t=x(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=x(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=x(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=kn;return tn(),rn(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":an(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{En as _}; diff --git a/.output/public/_nuxt/ContentSlot.e99bc746.js b/.output/public/_nuxt/ContentSlot.e99bc746.js new file mode 100644 index 0000000000..2bc8fd11cf --- /dev/null +++ b/.output/public/_nuxt/ContentSlot.e99bc746.js @@ -0,0 +1 @@ +import{_ as o}from"./MDCSlot.44237027.js";import{d as t,N as n}from"./entry.19040e7f.js";import"./node.676c5e99.js";const s=t({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(e){return n(o,e)}});export{s as default}; diff --git a/.output/public/_nuxt/CopyButton.f7d2fa81.js b/.output/public/_nuxt/CopyButton.f7d2fa81.js new file mode 100644 index 0000000000..15bc1d9faa --- /dev/null +++ b/.output/public/_nuxt/CopyButton.f7d2fa81.js @@ -0,0 +1 @@ +import{d as l,aj as i,r as u,b as e,c as d,J as m,X as t,a8 as y}from"./entry.19040e7f.js";const b=l({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:s}=i(),o=u("init"),p=r=>{s(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(r,f)=>{const n=y;return e(),d("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:p},[m(o)==="copied"?(e(),t(n,{key:0,name:"fa-check",class:"h-4 w-4"})):(e(),t(n,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{b as default}; diff --git a/.output/public/_nuxt/DocsAside.42681b3c.js b/.output/public/_nuxt/DocsAside.42681b3c.js new file mode 100644 index 0000000000..5b4fa3554d --- /dev/null +++ b/.output/public/_nuxt/DocsAside.42681b3c.js @@ -0,0 +1 @@ +import{d as r,a9 as l,b as o,c as u,J as n,X as _,w as d,g as i,aa as m,a8 as f,E as k,p as x,i as h,e as b,k as v}from"./entry.19040e7f.js";const I=e=>(x("data-v-89fb8999"),e=e(),h(),e),g=I(()=>b("span",{class:"text"},"Go back",-1)),w=r({__name:"DocsAside",setup(e){const{tree:s}=l();return(y,B)=>{var t;const c=m,a=f,p=k;return o(),u("nav",null,[((t=n(s))==null?void 0:t.length)>0?(o(),_(c,{key:0,links:n(s)},null,8,["links"])):(o(),_(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[i(a,{name:"heroicons-outline:arrow-left",class:"icon"}),g]),_:1}))])}}});const A=v(w,[["__scopeId","data-v-89fb8999"]]);export{A as default}; diff --git a/.output/public/_nuxt/DocsAside.7397caed.css b/.output/public/_nuxt/DocsAside.7397caed.css new file mode 100644 index 0000000000..04590eed69 --- /dev/null +++ b/.output/public/_nuxt/DocsAside.7397caed.css @@ -0,0 +1 @@ +.go-back-link[data-v-89fb8999]{align-items:center;color:var(--color-gray-500);cursor:pointer;display:flex;font-size:var(--text-sm-fontSize);line-height:var(--text-sm-lineHeight)}.go-back-link[data-v-89fb8999]:hover{color:var(--color-gray-700)}.go-back-link .icon[data-v-89fb8999]{height:var(--space-4);width:var(--space-4)}.go-back-link .text[data-v-89fb8999]{margin-left:var(--space-2)} diff --git a/.output/public/_nuxt/DocsPageBottom.0b5ac2bf.js b/.output/public/_nuxt/DocsPageBottom.0b5ac2bf.js new file mode 100644 index 0000000000..08daadf4b4 --- /dev/null +++ b/.output/public/_nuxt/DocsPageBottom.0b5ac2bf.js @@ -0,0 +1 @@ +import{d as h,V as x,a9 as k,J as t,b as s,c as n,g as a,w as i,f as _,D,e as m,t as v,a8 as y,p as I,i as b,k as B}from"./entry.19040e7f.js";import S from"./ProseA.94134036.js";import{_ as V}from"./EditOnLink.vue.c0346b4a.js";const w=e=>(I("data-v-346454d4"),e=e(),b(),e),C={key:0,class:"docs-page-bottom"},N={key:0,class:"edit-link"},E=w(()=>m("span",null," Edit this page on GitHub ",-1)),P={key:1},T=h({__name:"DocsPageBottom",setup(e){const{page:o}=x(),{config:r}=k();return(U,A)=>{var c,p,d;const u=y,l=S,f=V;return t(o)?(s(),n("div",C,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(s(),n("div",N,[a(u,{name:"uil:edit"}),a(f,{page:t(o)},{default:i(({url:g})=>[a(l,{to:g},{default:i(()=>[E]),_:2},1032,["to"])]),_:1},8,["page"])])):_("",!0),(d=t(o))!=null&&d.mtime?(s(),n("span",P,[D("Updated on "),m("b",null,v(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}});const J=B(T,[["__scopeId","data-v-346454d4"]]);export{J as default}; diff --git a/.output/public/_nuxt/DocsPageBottom.9f7ccbf0.css b/.output/public/_nuxt/DocsPageBottom.9f7ccbf0.css new file mode 100644 index 0000000000..e66b282d2b --- /dev/null +++ b/.output/public/_nuxt/DocsPageBottom.9f7ccbf0.css @@ -0,0 +1 @@ +.docs-page-bottom[data-v-346454d4]{align-items:center;color:var(--color-gray-500);display:flex;flex-direction:row;font-size:var(--fontSize-sm);gap:var(--space-4);justify-content:space-between;margin-top:var(--space-8)}:root.dark .docs-page-bottom[data-v-346454d4]{color:var(--color-gray-400)}.docs-page-bottom .edit-link[data-v-346454d4]{align-items:center;display:flex;flex:1;gap:var(--space-2)} diff --git a/.output/public/_nuxt/DocsPageLayout.2ba2acb9.css b/.output/public/_nuxt/DocsPageLayout.2ba2acb9.css new file mode 100644 index 0000000000..a8b8260e83 --- /dev/null +++ b/.output/public/_nuxt/DocsPageLayout.2ba2acb9.css @@ -0,0 +1 @@ +.docs-page-content[data-v-73d798d2]{display:flex;flex-direction:column-reverse;position:relative}@media (min-width:1024px){.docs-page-content[data-v-73d798d2]{display:grid;gap:var(--space-8)}.docs-page-content.has-toc[data-v-73d798d2]{grid-template-columns:minmax(320px,1fr) minmax(250px,250px)}.docs-page-content.has-aside[data-v-73d798d2]{grid-template-columns:minmax(250px,250px) minmax(320px,1fr)}.docs-page-content.has-aside.has-toc[data-v-73d798d2]{grid-template-columns:minmax(250px,250px) minmax(320px,1fr) minmax(250px,250px)}}.aside-nav[data-v-73d798d2]{display:none;overflow-y:auto}@media (min-width:1024px){.aside-nav[data-v-73d798d2]{align-self:flex-start;display:block;height:calc(100vh - var(--docus-header-height));padding-bottom:var(--space-8);padding-right:var(--space-8);padding-top:var(--space-8);position:sticky;top:var(--docus-header-height)}.fluid .aside-nav.aside-nav[data-v-73d798d2]{border-right:1px solid var(--elements-border-primary-static)}}.page-body[data-v-73d798d2]{display:flex;flex:1 1 0%;flex-direction:column;margin-left:auto;margin-right:auto;padding-bottom:var(--space-8);padding-top:var(--space-8);position:relative;width:100%}.has-toc .page-body.page-body[data-v-73d798d2]{padding-top:var(--space-12)}@media (min-width:1024px){.has-toc .page-body.page-body[data-v-73d798d2]{padding-top:var(--space-8)}.page-body[data-v-73d798d2]{margin-top:0}}.page-body[data-v-73d798d2] h1:not(.not-prose):first-child{font-size:var(--text-4xl-fontSize);line-height:var(--text-4xl-lineHeight);margin-top:0}@media (min-width:640px){.page-body[data-v-73d798d2] h1:not(.not-prose):first-child{font-size:var(--text-5xl-fontSize);line-height:var(--text-5xl-lineHeight)}}.page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p{border-bottom:1px solid var(--elements-border-primary-static);color:var(--color-gray-500);margin-bottom:var(--space-8);margin-top:0;padding-bottom:var(--space-8)}@media (min-width:640px){.page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p{font-size:var(--text-lg-fontSize);line-height:var(--text-lg-lineHeight)}}:root.dark .page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p{color:var(--color-gray-400)}.page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p a{color:var(--color-gray-700)}:root.dark .page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p a{color:var(--color-gray-200)}.page-body[data-v-73d798d2] h1:not(.not-prose)first-child+p a:hover{border-color:var(--color-gray-700)}.page-body .docs-prev-next[data-v-73d798d2]{margin-top:var(--space-4)}.toc[data-v-73d798d2]{border-bottom:1px solid var(--elements-border-primary-static);display:flex;margin-left:calc(0px - var(--space-4));margin-right:calc(0px - var(--space-4));overflow:auto;position:sticky;top:var(--docus-header-height)}@media (min-width:640px){.toc[data-v-73d798d2]{margin-left:calc(0px - var(--space-6));margin-right:calc(0px - var(--space-6))}}@media (min-width:1024px){.toc[data-v-73d798d2]{align-self:flex-start;border-bottom:none;height:calc(100vh - var(--docus-header-height));margin-left:0;margin-right:0;max-height:none;padding:var(--space-8)}.fluid .toc.toc[data-v-73d798d2]{border-left:1px solid var(--elements-border-primary-static)}}.toc .toc-wrapper[data-v-73d798d2]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:var(--elements-backdrop-background);height:100%;width:100%}@media (min-width:1024px){.toc .toc-wrapper[data-v-73d798d2]{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}.toc .toc-wrapper button[data-v-73d798d2]{align-items:center;display:flex;height:100%;padding:var(--space-4);width:100%}@media (min-width:640px){.toc .toc-wrapper button[data-v-73d798d2]{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width:1024px){.toc .toc-wrapper button[data-v-73d798d2]{display:none}}.toc .toc-wrapper button .title[data-v-73d798d2]{font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-semibold);line-height:var(--text-sm-lineHeight);margin-right:var(--space-1)}.toc .toc-wrapper button .icon[data-v-73d798d2]{height:var(--space-4);transition:transform .1s;width:var(--space-4)}.toc .toc-wrapper button .icon.rotate[data-v-73d798d2]{transform:rotate(90deg)}.toc .toc-wrapper .docs-toc-wrapper[data-v-73d798d2]{display:none;margin-bottom:var(--space-4)}.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-73d798d2]{display:block;max-height:50vh;overflow:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-73d798d2]{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width:1024px){.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-73d798d2]{max-height:none;padding-left:0;padding-right:0}.toc .toc-wrapper .docs-toc-wrapper[data-v-73d798d2]{display:block;margin-top:0}} diff --git a/.output/public/_nuxt/DocsPageLayout.6115c235.js b/.output/public/_nuxt/DocsPageLayout.6115c235.js new file mode 100644 index 0000000000..07a9b89f24 --- /dev/null +++ b/.output/public/_nuxt/DocsPageLayout.6115c235.js @@ -0,0 +1 @@ +import R from"./DocsAside.42681b3c.js";import U from"./ProseCodeInline.ce59fb31.js";import X from"./Alert.5d2c733c.js";import Z from"./DocsPageBottom.0b5ac2bf.js";import q from"./DocsPrevNext.2f099473.js";import{d as G,V as K,a9 as Q,s as W,I as m,r as $,m as Y,o as ee,ac as oe,b as u,X as A,w as h,J as t,c as g,g as r,f as y,e as p,Z as te,D as x,t as ne,F as se,n as k,a8 as ae,ad as ce,p as le,i as re,k as _e}from"./entry.19040e7f.js";import ie from"./DocsToc.c4eb6326.js";import"./slot.51812f31.js";import"./node.676c5e99.js";import"./ProseA.94134036.js";import"./EditOnLink.vue.c0346b4a.js";import"./DocsTocLinks.d6043a0c.js";const ue=d=>(le("data-v-73d798d2"),d=d(),re(),d),pe={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=ue(()=>p("span",{class:"title"},"Table of Contents",-1)),ve=G({__name:"DocsPageLayout",setup(d){const{page:s}=K(),{config:f,tree:T}=Q(),F=W(),H=(e,o=!0)=>{var n;return typeof((n=s.value)==null?void 0:n[e])<"u"?s.value[e]:o},P=m(()=>{var e,o,n;return!s.value||((n=(o=(e=s.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:n.length)>0}),S=m(()=>{var e,o,n,c,l;return((e=s.value)==null?void 0:e.toc)!==!1&&((l=(c=(n=(o=s.value)==null?void 0:o.body)==null?void 0:n.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),b=m(()=>{var e,o,n,c,l;return((e=s.value)==null?void 0:e.aside)!==!1&&(((o=T.value)==null?void 0:o.length)>1||((l=(c=(n=T.value)==null?void 0:n[0])==null?void 0:c.children)==null?void 0:l.length))}),L=m(()=>H("bottom",!0)),_=$(!1),a=$(null),v=()=>F.path.split("/").slice(0,2).join("/"),i=Y("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=a.value)==null?void 0:e.scrollTop)||0}});function C(){a.value&&(a.value.scrollHeight===0&&setTimeout(C,0),a.value.scrollTop=i.value.scrollTop)}return ee(()=>{i.value.parentPath!==v()?(i.value.parentPath=v(),i.value.scrollTop=0):C()}),oe(()=>{a.value&&(i.value.scrollTop=a.value.scrollTop)}),(e,o)=>{var D,w,B,I,N,V;const n=R,c=U,l=X,M=Z,j=q,z=ae,E=ie,J=ce;return u(),A(J,{fluid:(w=(D=t(f))==null?void 0:D.main)==null?void 0:w.fluid,padded:(I=(B=t(f))==null?void 0:B.main)==null?void 0:I.padded,class:k(["docs-page-content",{fluid:(V=(N=t(f))==null?void 0:N.main)==null?void 0:V.fluid,"has-toc":t(S),"has-aside":t(b)}])},{default:h(()=>[t(b)?(u(),g("aside",{key:0,ref_key:"asideNav",ref:a,class:"aside-nav"},[r(n,{class:"app-aside"})],512)):y("",!0),p("article",pe,[t(P)?te(e.$slots,"default",{key:0},void 0,!0):(u(),A(l,{key:1,type:"info"},{default:h(()=>[x(" Start writing in "),r(c,null,{default:h(()=>[x("content/"+ne(t(s)._file),1)]),_:1}),x(" to see this page taking shape. ")]),_:1})),t(P)&&t(s)&&t(L)?(u(),g(se,{key:2},[r(M),r(j)],64)):y("",!0)]),t(S)?(u(),g("div",de,[p("div",me,[p("button",{onClick:o[0]||(o[0]=O=>_.value=!t(_))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:k(["icon",[t(_)&&"rotate"]])},null,8,["class"])]),p("div",{class:k(["docs-toc-wrapper",[t(_)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=O=>_.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}});const Be=_e(ve,[["__scopeId","data-v-73d798d2"]]);export{Be as default}; diff --git a/.output/public/_nuxt/DocsPrevNext.0d80e373.css b/.output/public/_nuxt/DocsPrevNext.0d80e373.css new file mode 100644 index 0000000000..9259c667b4 --- /dev/null +++ b/.output/public/_nuxt/DocsPrevNext.0d80e373.css @@ -0,0 +1 @@ +.docs-prev-next[data-v-30e1aea1]{display:flex;flex-direction:column;gap:var(--space-3);justify-content:space-between}@media (min-width:640px){.docs-prev-next[data-v-30e1aea1]{align-items:center;flex-direction:row}}.docs-prev-next a[data-v-30e1aea1]{border:1px solid var(--elements-border-primary-static);border-radius:var(--radii-md);min-width:0;padding:var(--space-3);position:relative}.docs-prev-next a[data-v-30e1aea1]:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-50);color:var(--color-primary-500)}:root.dark .docs-prev-next a[data-v-30e1aea1]:hover{background-color:var(--color-gray-900);border-color:var(--color-gray-900)}.docs-prev-next a.prev[data-v-30e1aea1]{display:flex;gap:var(--space-3);text-align:left}.docs-prev-next a.prev .directory[data-v-30e1aea1]{color:var(--color-gray-500);display:block;font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.docs-prev-next a.prev .wrapper[data-v-30e1aea1]{align-items:flex-end}}.docs-prev-next a.next[data-v-30e1aea1]{display:flex;gap:var(--space-3);justify-content:flex-end;text-align:right}.docs-prev-next a.next .directory[data-v-30e1aea1]{color:var(--color-gray-500);display:block;font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.docs-prev-next a.next .wrapper[data-v-30e1aea1]{align-items:flex-start}}.docs-prev-next a .wrapper[data-v-30e1aea1]{display:flex;flex-direction:column}.docs-prev-next a .icon[data-v-30e1aea1]{align-self:flex-end;flex-shrink:0;height:var(--space-5);width:var(--space-5)}.docs-prev-next a .title[data-v-30e1aea1]{flex:1 1 0%;font-weight:var(--fontWeight-medium);line-height:var(--lead-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} diff --git a/.output/public/_nuxt/DocsPrevNext.2f099473.js b/.output/public/_nuxt/DocsPrevNext.2f099473.js new file mode 100644 index 0000000000..66cd2416fd --- /dev/null +++ b/.output/public/_nuxt/DocsPrevNext.2f099473.js @@ -0,0 +1 @@ +import{d as y,V as f,J as t,b as a,c as r,X as h,w as u,g as m,e as p,t as i,f as l,ae as k,a8 as g,E as w,af as N,k as C}from"./entry.19040e7f.js";const B={key:0,class:"docs-prev-next"},D={class:"wrapper"},V={key:0,class:"directory"},P={class:"title"},E={key:1},F={class:"wrapper"},I={key:0,class:"directory"},b={class:"title"},j=y({__name:"DocsPrevNext",setup(H){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=N(),_=d=>{var n;const c=x(d._path,v.value||[]);if(c&&c[0])return((n=c[0])==null?void 0:n._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,c)=>{const n=g,o=w;return t(e)||t(s)?(a(),r("div",B,[t(e)&&t(e)._path?(a(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(n,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),p("div",D,[_(t(e)._path)?(a(),r("span",V,i(_(t(e)._path)),1)):l("",!0),p("span",P,i(t(e).title),1)])]),_:1},8,["to"])):(a(),r("span",E)),t(s)&&t(s)._path?(a(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[p("div",F,[_(t(s)._path)?(a(),r("span",I,i(_(t(s)._path)),1)):l("",!0),p("span",b,i(t(s).title),1)]),m(n,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):l("",!0)])):l("",!0)}}});const S=C(j,[["__scopeId","data-v-30e1aea1"]]);export{S as default}; diff --git a/.output/public/_nuxt/DocsToc.855ff635.css b/.output/public/_nuxt/DocsToc.855ff635.css new file mode 100644 index 0000000000..fe9df4e03d --- /dev/null +++ b/.output/public/_nuxt/DocsToc.855ff635.css @@ -0,0 +1 @@ +.docs-toc[data-v-ebd2b6b2]{display:flex;flex-direction:column;gap:8px}.docs-toc .docs-toc-title[data-v-ebd2b6b2]{display:none}@media (min-width:1024px){.docs-toc .docs-toc-title[data-v-ebd2b6b2]{display:block;font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-semibold);line-height:var(--text-sm-lineHeight);overflow:hidden}} diff --git a/.output/public/_nuxt/DocsToc.c4eb6326.js b/.output/public/_nuxt/DocsToc.c4eb6326.js new file mode 100644 index 0000000000..fccb94eff6 --- /dev/null +++ b/.output/public/_nuxt/DocsToc.c4eb6326.js @@ -0,0 +1 @@ +import m from"./DocsTocLinks.d6043a0c.js";import{d as l,V as u,b as c,c as _,J as a,F as b,g as f,f as v,p as k,i as x,e as d,k as g}from"./entry.19040e7f.js";const h=e=>(k("data-v-ebd2b6b2"),e=e(),x(),e),C={class:"docs-toc"},I=h(()=>d("div",{class:"docs-toc-title"},[d("span",null,"Table of Contents")],-1)),T=l({__name:"DocsToc",emits:["move"],setup(e,{emit:p}){const{toc:o}=u(),r=p;return(V,t)=>{var s,n;const i=m;return c(),_("div",C,[(n=(s=a(o))==null?void 0:s.links)!=null&&n.length?(c(),_(b,{key:0},[I,f(i,{links:a(o).links,onMove:t[0]||(t[0]=y=>r("move"))},null,8,["links"])],64)):v("",!0)])}}});const N=g(T,[["__scopeId","data-v-ebd2b6b2"]]);export{N as default}; diff --git a/.output/public/_nuxt/DocsTocLinks.310b9647.css b/.output/public/_nuxt/DocsTocLinks.310b9647.css new file mode 100644 index 0000000000..56ba37417b --- /dev/null +++ b/.output/public/_nuxt/DocsTocLinks.310b9647.css @@ -0,0 +1 @@ +.docs-toc-links .depth-3[data-v-a97df893]{padding-left:var(--space-3)}.docs-toc-links .depth-4[data-v-a97df893]{padding-left:var(--space-6)}.docs-toc-links a[data-v-a97df893]{color:var(--color-gray-500);display:block;font-size:var(--text-sm-fontSize);line-height:var(--text-sm-lineHeight);overflow:hidden;padding:var(--space-1) 0;text-overflow:ellipsis;white-space:nowrap}@media (min-width:1024px){.docs-toc-links a[data-v-a97df893]{padding-right:var(--space-3)}}.docs-toc-links a[data-v-a97df893]:not(.active):hover{color:var(--color-gray-900)}:root.dark .docs-toc-links a[data-v-a97df893]:not(.active):hover{color:var(--color-gray-400)}.docs-toc-links a.active[data-v-a97df893]{color:var(--color-primary-500)} diff --git a/.output/public/_nuxt/DocsTocLinks.d6043a0c.js b/.output/public/_nuxt/DocsTocLinks.d6043a0c.js new file mode 100644 index 0000000000..52f8e3508d --- /dev/null +++ b/.output/public/_nuxt/DocsTocLinks.d6043a0c.js @@ -0,0 +1 @@ +import{r as l,$ as h,ag as g,ac as y,d as k,u as b,b as u,c as m,F as x,ah as B,n as p,e as C,t as H,J as S,ai as A,X as T,f as $,k as q}from"./entry.19040e7f.js";const D=()=>{const a=l(),s=l([]),c=l([]),d=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),i=e=>e.forEach(t=>{a.value.observe(t)});return h(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(d)),y(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:i}},L={class:"docs-toc-links"},M=["href","onClick"],w=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,d=b(),{activeHeadings:i,updateHeadings:e}=D();setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function t(n){d.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const f=E;return u(),m("ul",L,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:p([S(i).includes(o.id)&&"active"]),onClick:A(_=>t(o.id),["prevent"])},H(o.text),11,M),o.children?(u(),T(f,{key:0,links:o.children,onMove:v[0]||(v[0]=_=>r(_))},null,8,["links"])):$("",!0)],2))),128))])}}});const E=q(w,[["__scopeId","data-v-a97df893"]]);export{E as default}; diff --git a/.output/public/_nuxt/DocumentDrivenEmpty.cecc2449.js b/.output/public/_nuxt/DocumentDrivenEmpty.cecc2449.js new file mode 100644 index 0000000000..77971c0b41 --- /dev/null +++ b/.output/public/_nuxt/DocumentDrivenEmpty.cecc2449.js @@ -0,0 +1 @@ +import{d as n,N as e}from"./entry.19040e7f.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; diff --git a/.output/public/_nuxt/DocumentDrivenNotFound.2e5af98f.js b/.output/public/_nuxt/DocumentDrivenNotFound.2e5af98f.js new file mode 100644 index 0000000000..f80ecb1c7d --- /dev/null +++ b/.output/public/_nuxt/DocumentDrivenNotFound.2e5af98f.js @@ -0,0 +1 @@ +import s from"./ButtonLink.23e0d758.js";import{k as _,b as c,c as a,e as o,g as i,w as r,D as d,p,i as u}from"./entry.19040e7f.js";import"./slot.51812f31.js";import"./node.676c5e99.js";const l={},e=t=>(p("data-v-b556344b"),t=t(),u(),t),m={class:"document-driven-not-found not-prose"},h=e(()=>o("p",null," 404 ",-1)),f={class:"content"},v=e(()=>o("div",{class:"text-section"},[o("h1",null," Not Found "),o("p",null," This is not the page you're looking for. ")],-1)),b={class:"button-section"};function x(t,k){const n=s;return c(),a("div",m,[o("main",null,[h,o("div",f,[v,o("div",b,[i(n,{href:"/",size:"large",variant:"primary"},{default:r(()=>[d(" Go back home ")]),_:1})])])])])}const I=_(l,[["render",x],["__scopeId","data-v-b556344b"]]);export{I as default}; diff --git a/.output/public/_nuxt/DocumentDrivenNotFound.7238633c.css b/.output/public/_nuxt/DocumentDrivenNotFound.7238633c.css new file mode 100644 index 0000000000..1e513fad20 --- /dev/null +++ b/.output/public/_nuxt/DocumentDrivenNotFound.7238633c.css @@ -0,0 +1 @@ +.document-driven-not-found[data-v-b556344b]{display:flex;flex:1;padding:var(--space-16) var(--space-4)}@media (min-width:640px){.document-driven-not-found[data-v-b556344b]{padding:var(--space-24) var(--space-6)}}@media (min-width:768px){.document-driven-not-found[data-v-b556344b]{display:grid;place-items:center}}@media (min-width:1024px){.document-driven-not-found[data-v-b556344b]{padding-left:var(--space-8);padding-right:var(--space-8)}}.document-driven-not-found main[data-v-b556344b]{margin-left:auto;margin-right:auto;max-width:var(--size-full)}@media (min-width:640px){.document-driven-not-found main[data-v-b556344b]{display:flex;gap:var(--space-6)}}.document-driven-not-found main>p[data-v-b556344b]{color:var(--color-primary-500);font-size:var(--fontSize-4xl);font-weight:var(--fontWeight-bold);line-height:var(--lead-tight)}@media (min-width:640px){.document-driven-not-found main>p[data-v-b556344b]{font-size:var(--fontSize-5xl)}}.document-driven-not-found main .content .text-section[data-v-b556344b]{border:none}:root.dark .document-driven-not-found main .content .text-section[data-v-b556344b]{border-color:var(--color-gray-800)}@media (min-width:640px){.document-driven-not-found main .content .text-section[data-v-b556344b]{border-color:var(--color-gray-200);border-left-style:solid;border-left-width:1px;padding-left:var(--space-6)}}.document-driven-not-found main .content .text-section h1[data-v-b556344b]{color:var(--color-gray-900);font-size:var(--fontSize-4xl);font-weight:var(--fontWeight-extrabold);letter-spacing:var(--letterSpacing-tight)}:root.dark .document-driven-not-found main .content .text-section h1[data-v-b556344b]{color:var(--color-gray-200)}@media (min-width:640px){.document-driven-not-found main .content .text-section h1[data-v-b556344b]{font-size:var(--fontSize-5xl)}}.document-driven-not-found main .content .text-section p[data-v-b556344b]{color:var(--color-gray-700);font-size:var(--fontSize-xl);margin-top:var(--space-1)}:root.dark .document-driven-not-found main .content .text-section p[data-v-b556344b]{color:var(--color-gray-400)}.document-driven-not-found main .content .button-section[data-v-b556344b]{flex:none;gap:var(--space-3);margin-top:var(--space-10)} diff --git a/.output/public/_nuxt/EditOnLink.81158194.js b/.output/public/_nuxt/EditOnLink.81158194.js new file mode 100644 index 0000000000..7d4b13c532 --- /dev/null +++ b/.output/public/_nuxt/EditOnLink.81158194.js @@ -0,0 +1 @@ +import{_ as m}from"./EditOnLink.vue.c0346b4a.js";import"./entry.19040e7f.js";export{m as default}; diff --git a/.output/public/_nuxt/EditOnLink.vue.c0346b4a.js b/.output/public/_nuxt/EditOnLink.vue.c0346b4a.js new file mode 100644 index 0000000000..1689136697 --- /dev/null +++ b/.output/public/_nuxt/EditOnLink.vue.c0346b4a.js @@ -0,0 +1 @@ +import{d as v,x as u,I as d,ab as w,a0 as p}from"./entry.19040e7f.js";const S=v({props:{baseUrl:{type:String,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.baseUrl)||"https://github.com"},required:!1},owner:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.owner},required:!1},repo:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.repo},required:!1},branch:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.branch},required:!1},dir:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir)||"content"}},edit:{type:Boolean,required:!1,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.edit}}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=d(()=>{var h,b;let{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f}=e,s="";if((b=(h=u())==null?void 0:h.public)!=null&&b.content){let i;const{sources:g}=u().public.content;for(const y in g||[])if(e.page._id.startsWith(y)){i=g[y];break}(i==null?void 0:i.driver)==="github"&&(a=i.repo||e.repo||"",c=i.owner||e.owner||"",l=i.branch||e.branch||"main",f=i.dir||e.contentDir||"",s=i.prefix||"")}return{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f,prefix:s}}),r=d(()=>w(`${t.value.baseUrl}/${t.value.owner}/${t.value.repo}`)),o=d(()=>{var a;const n=[];return(a=e==null?void 0:e.page)!=null&&a._path?(t.value.contentDir&&n.push(t.value.contentDir),n.push(e.page._file.substring(t.value.prefix.length)),n):(e.dir&&n.push(e.dir),e.source&&n.push(e.source),n)});return{url:d(()=>{var a;const n=[r.value];return e.edit?n.push("edit"):n.push("tree"),n.push(((a=t==null?void 0:t.value)==null?void 0:a.branch)||"",...o.value),n.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,r=p();return(o=r==null?void 0:r.default)==null?void 0:o.call(r,{url:t})}});export{S as _}; diff --git a/.output/public/_nuxt/Ellipsis.7a0b54f8.css b/.output/public/_nuxt/Ellipsis.7a0b54f8.css new file mode 100644 index 0000000000..e0d14e0a7c --- /dev/null +++ b/.output/public/_nuxt/Ellipsis.7a0b54f8.css @@ -0,0 +1 @@ +.ellipsis[data-v-03072fdb]{filter:var(---jfd-filter);height:var(---t33-height);inset-inline-end:var(---if-b-inset-inline-end);inset-inline-start:var(---eih-inset-inline-start);max-width:var(---wj8-max-width);pointer-events:none;position:absolute;top:var(---c-cn-top);width:-webkit-fill-available;z-index:var(---ss-e-z-index)}.ellipsis .ellipsis-item[data-v-03072fdb]{background:var(---y-uj-background);height:100%;width:100%} diff --git a/.output/public/_nuxt/Ellipsis.9de49135.js b/.output/public/_nuxt/Ellipsis.9de49135.js new file mode 100644 index 0000000000..65dfa03c79 --- /dev/null +++ b/.output/public/_nuxt/Ellipsis.9de49135.js @@ -0,0 +1 @@ +import{d as m,I as n,Y as y,b as S,c as b,n as p,J as I,p as x,i as v,e as E,k as $}from"./entry.19040e7f.js";const k=s=>(x("data-v-03072fdb"),s=s(),v(),s),w=k(()=>E("div",{class:"ellipsis-item"},null,-1)),z=[w],B=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(s){const l=n(()=>((t=e)=>t.top)()),c=n(()=>((t=e)=>t.left)()),d=n(()=>((t=e)=>t.right)()),o=n(()=>((t=e)=>t.zIndex)()),r=n(()=>((t=e)=>t.width)()),u=n(()=>((t=e)=>t.height)()),f=n(()=>((t=e)=>`blur(${t.blur})`)()),g=n(()=>((t=e)=>{var a,i,_;return`linear-gradient(97.62deg, ${(a=t==null?void 0:t.colors)==null?void 0:a[0]} 2.27%, ${(i=t==null?void 0:t.colors)==null?void 0:i[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),e=s,{$pinceau:h}=y(e,void 0,{_cCN_top:l,_eih_insetInlineStart:c,_IfB_insetInlineEnd:d,_SsE_zIndex:o,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,a)=>(S(),b("div",{class:p(["ellipsis",[I(h)]])},z,2))}});const j=$(B,[["__scopeId","data-v-03072fdb"]]);export{j as default}; diff --git a/.output/public/_nuxt/IconCSS.a9a03952.js b/.output/public/_nuxt/IconCSS.a9a03952.js new file mode 100644 index 0000000000..56441dc950 --- /dev/null +++ b/.output/public/_nuxt/IconCSS.a9a03952.js @@ -0,0 +1 @@ +import{d,az as m,x,I as o,b as S,c as f,ay as z,J as a,k as I}from"./entry.19040e7f.js";const y=d({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(_){var r;m(n=>({faa288c6:a(p)}));const e=x();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const s=_,l=o(()=>{var n;return(((n=e==null?void 0:e.nuxtIcon)==null?void 0:n.aliases)||{})[s.name]||s.name}),p=o(()=>`url('https://api.iconify.design/${l.value.replace(":","/")}.svg')`),c=o(()=>{var t,i,u;if(!s.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const n=s.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(n))===n?`${n}px`:n});return(n,t)=>(S(),f("span",{style:z({width:a(c),height:a(c)})},null,4))}});const g=I(y,[["__scopeId","data-v-5217de21"]]);export{g as default}; diff --git a/.output/public/_nuxt/IconCSS.b5e1ed11.css b/.output/public/_nuxt/IconCSS.b5e1ed11.css new file mode 100644 index 0000000000..3192e208b2 --- /dev/null +++ b/.output/public/_nuxt/IconCSS.b5e1ed11.css @@ -0,0 +1 @@ +span[data-v-5217de21]{background-color:currentColor;display:inline-block;-webkit-mask-image:var(--faa288c6);mask-image:var(--faa288c6);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle} diff --git a/.output/public/_nuxt/IconCodeSandBox.8985aed1.js b/.output/public/_nuxt/IconCodeSandBox.8985aed1.js new file mode 100644 index 0000000000..40e9a146ea --- /dev/null +++ b/.output/public/_nuxt/IconCodeSandBox.8985aed1.js @@ -0,0 +1 @@ +import{k as e,b as o,c as n,e as t}from"./entry.19040e7f.js";const c={},s={viewBox:"0 0 105 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M104.297.31104.87354.3111V103.735H104.297V.31104ZM93.7196 93.1572V10.8885H11.4509v82.2687h82.2687Z",fill:"currentColor"},null,-1),l=[r];function d(_,a){return o(),n("svg",s,l)}const f=e(c,[["render",d]]);export{f as default}; diff --git a/.output/public/_nuxt/IconDocus.277086a0.js b/.output/public/_nuxt/IconDocus.277086a0.js new file mode 100644 index 0000000000..9759d4b909 --- /dev/null +++ b/.output/public/_nuxt/IconDocus.277086a0.js @@ -0,0 +1 @@ +import{k as e,b as o,c,e as s}from"./entry.19040e7f.js";const t={},n={viewBox:"0 0 57 57",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M28.5445 0C12.8044 0 0 12.7599 0 28.5v25.4549c0 1.5835 1.28368 2.8672 2.86718 2.8672H28.5889C44.2799 56.8221 57 44.102 57 28.4111 57 12.7201 44.2355 0 28.5445 0Zm15.4963 34.452c3.3649 0 6.0927-2.7278 6.0927-6.0928 0-3.3649-2.7278-6.0927-6.0927-6.0927-3.365 0-6.0928 2.7278-6.0928 6.0927 0 3.365 2.7278 6.0928 6.0928 6.0928Zm-18.0833.0003c3.3649 0 6.0927-2.7278 6.0927-6.0927s-2.7278-6.0928-6.0927-6.0928-6.0928 2.7279-6.0928 6.0928c0 3.3649 2.7279 6.0927 6.0928 6.0927Z",fill:"currentColor"},null,-1),l=[r];function _(a,d){return o(),c("svg",n,l)}const f=e(t,[["render",_]]);export{f as default}; diff --git a/.output/public/_nuxt/IconNuxt.003ced8d.js b/.output/public/_nuxt/IconNuxt.003ced8d.js new file mode 100644 index 0000000000..87e64d29e3 --- /dev/null +++ b/.output/public/_nuxt/IconNuxt.003ced8d.js @@ -0,0 +1 @@ +import{k as c,b as e,c as t,e as o}from"./entry.19040e7f.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; diff --git a/.output/public/_nuxt/IconNuxtContent.003ced8d.js b/.output/public/_nuxt/IconNuxtContent.003ced8d.js new file mode 100644 index 0000000000..87e64d29e3 --- /dev/null +++ b/.output/public/_nuxt/IconNuxtContent.003ced8d.js @@ -0,0 +1 @@ +import{k as c,b as e,c as t,e as o}from"./entry.19040e7f.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; diff --git a/.output/public/_nuxt/IconNuxtLabs.83def0da.js b/.output/public/_nuxt/IconNuxtLabs.83def0da.js new file mode 100644 index 0000000000..0e62ae1129 --- /dev/null +++ b/.output/public/_nuxt/IconNuxtLabs.83def0da.js @@ -0,0 +1 @@ +import{k as c,b as e,c as t,e as o}from"./entry.19040e7f.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function a(l,h){return e(),t("svg",n,_)}const i=c(s,[["render",a]]);export{i as default}; diff --git a/.output/public/_nuxt/IconNuxtStudio.34390cd8.css b/.output/public/_nuxt/IconNuxtStudio.34390cd8.css new file mode 100644 index 0000000000..980b832ae7 --- /dev/null +++ b/.output/public/_nuxt/IconNuxtStudio.34390cd8.css @@ -0,0 +1 @@ +svg[data-v-9e7e743f]{fill:var(--color-black)}:root.dark svg[data-v-9e7e743f]{fill:var(--color-white)} diff --git a/.output/public/_nuxt/IconNuxtStudio.6ad88ab7.js b/.output/public/_nuxt/IconNuxtStudio.6ad88ab7.js new file mode 100644 index 0000000000..18b354e306 --- /dev/null +++ b/.output/public/_nuxt/IconNuxtStudio.6ad88ab7.js @@ -0,0 +1 @@ +import{k as t,b as c,c as o,p as s,i as _,e as n}from"./entry.19040e7f.js";const a={},d=e=>(s("data-v-9e7e743f"),e=e(),_(),e),r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=d(()=>n("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),l=[p];function i(e,u){return c(),o("svg",r,l)}const h=t(a,[["render",i],["__scopeId","data-v-9e7e743f"]]);export{h as default}; diff --git a/.output/public/_nuxt/IconStackBlitz.99329b01.js b/.output/public/_nuxt/IconStackBlitz.99329b01.js new file mode 100644 index 0000000000..4010df0083 --- /dev/null +++ b/.output/public/_nuxt/IconStackBlitz.99329b01.js @@ -0,0 +1 @@ +import{k as e,b as t,c as o,e as c}from"./entry.19040e7f.js";const s={},n={viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=c("path",{d:"M11.46 14.773H4L17.638 0l-3.671 10.227h7.46L7.788 25l3.671-10.227h.001Z",fill:"currentColor"},null,-1),l=[r];function _(a,i){return t(),o("svg",n,l)}const f=e(s,[["render",_]]);export{f as default}; diff --git a/.output/public/_nuxt/IconVueTelescope.2beda973.js b/.output/public/_nuxt/IconVueTelescope.2beda973.js new file mode 100644 index 0000000000..65c45268ca --- /dev/null +++ b/.output/public/_nuxt/IconVueTelescope.2beda973.js @@ -0,0 +1 @@ +import{k as e,b as t,c as l,e as o}from"./entry.19040e7f.js";const n={},s={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=o("path",{d:"M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z",fill:"currentColor"},null,-1),r=o("path",{d:"M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z",fill:"currentColor"},null,-1),_=o("path",{d:"M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z",fill:"currentColor"},null,-1),a=o("path",{d:"M65 40L44 76L23 40H65Z",fill:"currentColor"},null,-1),i=[c,r,_,a];function d(h,u){return t(),l("svg",s,i)}const p=e(n,[["render",d]]);export{p as default}; diff --git a/.output/public/_nuxt/List.8aa226e2.js b/.output/public/_nuxt/List.8aa226e2.js new file mode 100644 index 0000000000..d2f9dabbac --- /dev/null +++ b/.output/public/_nuxt/List.8aa226e2.js @@ -0,0 +1 @@ +import{d as r,a0 as l,I as u,N as n,a8 as p,k as _}from"./entry.19040e7f.js";import{_ as m}from"./MDCSlot.44237027.js";import{u as f,f as d}from"./node.676c5e99.js";const y=()=>({unwrap:f,flatUnwrap:d}),h={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=r({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:e=>["primary","info","success","warning","danger"].includes(e)}},setup(e){const a=l(),{flatUnwrap:o,unwrap:s}=y(),c=u(()=>e.icon||h[e.type]);return()=>{const i=o((a.default&&a.default())??[],["ul"]).map(t=>s(t,["li"]));return n("ul",i.map(t=>n("li",[n("span",{class:`list-icon ${e.type}`},n(p,{name:c.value,class:"icon"})),n("span",n(m,{use:()=>t}))])))}}});const k=_(g,[["__scopeId","data-v-e3286cf5"]]);export{k as default}; diff --git a/.output/public/_nuxt/List.e98a0c25.css b/.output/public/_nuxt/List.e98a0c25.css new file mode 100644 index 0000000000..f178a2c403 --- /dev/null +++ b/.output/public/_nuxt/List.e98a0c25.css @@ -0,0 +1 @@ +li[data-v-e3286cf5]{align-items:flex-start;display:flex;margin-bottom:var(--space-3)}li[data-v-e3286cf5]:last-child{margin-bottom:0}li .list-icon[data-v-e3286cf5]{flex-shrink:0;margin-inline-end:var(--space-3)}li .list-icon.primary[data-v-e3286cf5]{color:var(--elements-state-primary-color-primary)}li .list-icon.info[data-v-e3286cf5]{color:var(--elements-state-info-color-primary)}li .list-icon.success[data-v-e3286cf5]{color:var(--elements-state-success-color-primary)}li .list-icon.warning[data-v-e3286cf5]{color:var(--elements-state-warning-color-primary)}li .list-icon.danger[data-v-e3286cf5]{color:var(--elements-state-danger-color-primary)}li .list-icon .icon[data-v-e3286cf5]{height:var(--space-6);width:var(--space-6)} diff --git a/.output/public/_nuxt/MDCSlot.44237027.js b/.output/public/_nuxt/MDCSlot.44237027.js new file mode 100644 index 0000000000..6b8bea54cb --- /dev/null +++ b/.output/public/_nuxt/MDCSlot.44237027.js @@ -0,0 +1 @@ +import{f as i}from"./node.676c5e99.js";import{d as u,a0 as f,I as c,N as l,ao as d}from"./entry.19040e7f.js";const y=u({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=f(),r=c(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:r,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:r,parent:e}){var a;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((a=e==null?void 0:e.parent)==null?void 0:a.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?i(n(),r):[n()]:o?o():l("div")}catch{return l("div")}}});export{y as _}; diff --git a/.output/public/_nuxt/Markdown.3d3acc29.js b/.output/public/_nuxt/Markdown.3d3acc29.js new file mode 100644 index 0000000000..d2a9264fc1 --- /dev/null +++ b/.output/public/_nuxt/Markdown.3d3acc29.js @@ -0,0 +1 @@ +import o from"./ContentSlot.e99bc746.js";import{d as s,a0 as m,I as p,ao as u}from"./entry.19040e7f.js";import"./MDCSlot.44237027.js";import"./node.676c5e99.js";const l=s({name:"Markdown",extends:o,setup(t){const{parent:e}=u(),{between:n,default:a}=m(),r=p(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{l as default}; diff --git a/.output/public/_nuxt/NuxtImg.c84b30c3.js b/.output/public/_nuxt/NuxtImg.c84b30c3.js new file mode 100644 index 0000000000..52a785ceee --- /dev/null +++ b/.output/public/_nuxt/NuxtImg.c84b30c3.js @@ -0,0 +1 @@ +import{_ as m}from"./NuxtImg.vue.aab88a57.js";import"./entry.19040e7f.js";export{m as default}; diff --git a/.output/public/_nuxt/NuxtImg.vue.aab88a57.js b/.output/public/_nuxt/NuxtImg.vue.aab88a57.js new file mode 100644 index 0000000000..b6c2d873b2 --- /dev/null +++ b/.output/public/_nuxt/NuxtImg.vue.aab88a57.js @@ -0,0 +1 @@ +import{d as a,I as i,N as e,al as n,l as h}from"./entry.19040e7f.js";const o=a({props:{src:{type:[String,Object],default:null}},setup(s){const r=t=>t&&t.startsWith("/")&&!t.startsWith("//")?n(t,h().app.baseURL):t;return{imgSrc:i(()=>{let t=s.src;try{t=JSON.parse(t)}catch{t=s.src}return typeof t=="string"?r(s.src):{light:r(t.light),dark:r(t.dark)}})}},render({imgSrc:s}){if(typeof s=="string")return e("img",{src:s,...this.$attrs});const r=[];return s.light&&r.push(e("img",{src:s.light,class:["dark-img"],...this.$attrs})),s.dark&&r.push(e("img",{src:s.dark,class:["light-img"],...this.$attrs})),r}});export{o as _}; diff --git a/.output/public/_nuxt/PreviewLayout.05ed95ae.css b/.output/public/_nuxt/PreviewLayout.05ed95ae.css new file mode 100644 index 0000000000..1638f7ceee --- /dev/null +++ b/.output/public/_nuxt/PreviewLayout.05ed95ae.css @@ -0,0 +1 @@ +.preview-layout[data-v-5f8e274d]{display:flex;flex-direction:column;gap:1rem} diff --git a/.output/public/_nuxt/PreviewLayout.68a4ab5f.js b/.output/public/_nuxt/PreviewLayout.68a4ab5f.js new file mode 100644 index 0000000000..be473694e1 --- /dev/null +++ b/.output/public/_nuxt/PreviewLayout.68a4ab5f.js @@ -0,0 +1 @@ +import{k as t,b as _,c as o,Z as s}from"./entry.19040e7f.js";const r={},a={class:"preview-layout"};function n(e,c){return _(),o("div",a,[s(e.$slots,"default",{},void 0,!0)])}const u=t(r,[["render",n],["__scopeId","data-v-5f8e274d"]]);export{u as default}; diff --git a/.output/public/_nuxt/Props.3df956ed.js b/.output/public/_nuxt/Props.3df956ed.js new file mode 100644 index 0000000000..b0974b0b3e --- /dev/null +++ b/.output/public/_nuxt/Props.3df956ed.js @@ -0,0 +1 @@ +import g from"./ProseTh.c2582e0d.js";import B from"./ProseTr.8742a66a.js";import C from"./ProseThead.beac4890.js";import V from"./ProseCodeInline.ce59fb31.js";import b from"./ProseTd.41ebe51f.js";import N from"./ProseTbody.5fd2a0b2.js";import R from"./ProseTable.dec9e2a1.js";import{k as F,d as S,a4 as I,ap as A,I as m,b as o,X as l,w as e,g as s,D as d,f,c as E,F as J,ah as L,t as c}from"./entry.19040e7f.js";const W=S({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${I(t.of)}`,{data:h}=await A(t.of,()=>$fetch(k),"$oSoCJtWFoC"),i=m(()=>h.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),q=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),r=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:r,showDefault:y}}});function X(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=C,n=V,_=b,T=N,$=R;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(r,null,{default:e(()=>[d("Prop")]),_:1}),s(r,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(r,{key:0},{default:e(()=>[d(" Required ")]),_:1})):f("",!0),t.showDefault?(o(),l(r,{key:1},{default:e(()=>[d(" Default ")]),_:1})):f("",!0),t.showValues?(o(),l(r,{key:2},{default:e(()=>[d(" Values ")]),_:1})):f("",!0),t.showDescription?(o(),l(r,{key:3},{default:e(()=>[d(" Description ")]),_:1})):f("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),E(J,null,L(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):f("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):f("",!0)]),_:2},1024)):f("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):f("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):f("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):f("",!0)}const O=F(W,[["render",X]]);export{O as default}; diff --git a/.output/public/_nuxt/ProseA.94134036.js b/.output/public/_nuxt/ProseA.94134036.js new file mode 100644 index 0000000000..cd26949f13 --- /dev/null +++ b/.output/public/_nuxt/ProseA.94134036.js @@ -0,0 +1 @@ +import{d as _,b as n,X as r,w as a,Z as s,E as d,k as c}from"./entry.19040e7f.js";const u=_({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,p)=>{const o=d;return n(),r(o,{to:t.href,target:t.target},{default:a(()=>[s(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}});const l=c(u,[["__scopeId","data-v-692834dd"]]);export{l as default}; diff --git a/.output/public/_nuxt/ProseA.e2976377.css b/.output/public/_nuxt/ProseA.e2976377.css new file mode 100644 index 0000000000..2ff2666e5b --- /dev/null +++ b/.output/public/_nuxt/ProseA.e2976377.css @@ -0,0 +1 @@ +a[data-v-692834dd]{border-bottom:var(--prose-a-border-width) var(--prose-a-border-style-static) var(--prose-a-border-color-static);color:var(--prose-a-color-static);font-family:var(--typography-font-body);font-weight:var(--prose-a-fontWeight);padding-bottom:var(--prose-a-border-distance);-webkit-text-decoration:var(--prose-a-textDecoration);text-decoration:var(--prose-a-textDecoration)}a[data-v-692834dd]:hover{border-color:var(--prose-a-border-color-hover);border-style:var(--prose-a-border-style-hover);color:var(--prose-a-color-hover)}a[data-v-692834dd]:has(img){border-width:0}a[data-v-692834dd]:has(code){border-bottom:var(--prose-a-hasCode-borderBottom)}a[data-v-692834dd]:has(code) code{border-color:var(--prose-a-code-border-color-static);border-style:var(--prose-a-code-border-style);border-width:var(--prose-a-code-border-width);color:var(--prose-a-code-color-static)}a[data-v-692834dd]:has(code):hover{border-bottom:var(--prose-a-hasCode-borderBottom)}a[data-v-692834dd]:has(code):hover code{background-color:var(--prose-a-code-background-hover);border-color:var(--prose-a-code-border-color-hover);color:var(--prose-a-code-color-hover)} diff --git a/.output/public/_nuxt/ProseBlockquote.6dfb0ac0.js b/.output/public/_nuxt/ProseBlockquote.6dfb0ac0.js new file mode 100644 index 0000000000..0cdb076c2e --- /dev/null +++ b/.output/public/_nuxt/ProseBlockquote.6dfb0ac0.js @@ -0,0 +1 @@ +import{k as o,b as t,c as _,Z as r}from"./entry.19040e7f.js";const s={};function c(e,n){return t(),_("blockquote",null,[r(e.$slots,"default",{},void 0,!0)])}const l=o(s,[["render",c],["__scopeId","data-v-96397147"]]);export{l as default}; diff --git a/.output/public/_nuxt/ProseBlockquote.87ef1443.css b/.output/public/_nuxt/ProseBlockquote.87ef1443.css new file mode 100644 index 0000000000..ad6f570465 --- /dev/null +++ b/.output/public/_nuxt/ProseBlockquote.87ef1443.css @@ -0,0 +1 @@ +blockquote[data-v-96397147]{border-inline-start-color:var(--prose-blockquote-border-color);border-inline-start-style:var(--prose-blockquote-border-style);border-inline-start-width:var(--prose-blockquote-border-width);color:var(--prose-blockquote-color);font-family:var(--typography-font-body);margin:var(--prose-blockquote-margin);padding-inline-start:var(--prose-blockquote-paddingInlineStart);quotes:var(--prose-blockquote-quotes)}blockquote p[data-v-96397147]:first-of-type:before,blockquote p[data-v-96397147]:last-of-type:after{content:""} diff --git a/.output/public/_nuxt/ProseCode.60d59d51.css b/.output/public/_nuxt/ProseCode.60d59d51.css new file mode 100644 index 0000000000..89d27ac27e --- /dev/null +++ b/.output/public/_nuxt/ProseCode.60d59d51.css @@ -0,0 +1 @@ +button[data-v-4a003820]{border-radius:3px;margin:4px;opacity:0;padding:4px;transform:scale(.75);transition:all .2s}button[data-v-4a003820]:hover{background-color:var(--elements-surface-secondary-backgroundColor)}button[data-v-4a003820]:focus{box-shadow:0 0 0 2px var(--color-blue-500);opacity:1;outline:none}button.show[data-v-4a003820]{opacity:1;transform:scale(1)}button .icon-wrapper[data-v-4a003820]{display:block;height:18px;position:relative;width:18px}button .icon-wrapper .icon[data-v-4a003820]{display:block;position:absolute}button .icon-wrapper .fade-enter-active[data-v-4a003820],button .icon-wrapper .fade-leave-active[data-v-4a003820]{transition:opacity .2s}button .icon-wrapper .fade-enter-from[data-v-4a003820],button .icon-wrapper .fade-leave-to[data-v-4a003820]{opacity:0}.prose-code[data-v-c164ce0a]{-webkit-backdrop-filter:var(--prose-code-block-backdropFilter);backdrop-filter:var(--prose-code-block-backdropFilter);background-color:var(--prose-code-block-backgroundColor);border-color:var(--prose-code-block-border-color);border-radius:var(--radii-md);border-style:var(--prose-code-block-border-style);border-width:var(--prose-code-block-border-width);color:var(--prose-code-block-color);font-size:var(--prose-code-block-fontSize);margin:var(--prose-code-block-margin);overflow:hidden;position:relative;width:100%}.prose-code.highlight-bash[data-v-c164ce0a] code .line,.prose-code.highlight-sh[data-v-c164ce0a] code .line,.prose-code.highlight-shell[data-v-c164ce0a] code .line,.prose-code.highlight-shellscript[data-v-c164ce0a] code .line,.prose-code.highlight-zsh[data-v-c164ce0a] code .line{padding-inline-start:1rem;position:relative}.prose-code.highlight-bash[data-v-c164ce0a] code .line:before,.prose-code.highlight-sh[data-v-c164ce0a] code .line:before,.prose-code.highlight-shell[data-v-c164ce0a] code .line:before,.prose-code.highlight-shellscript[data-v-c164ce0a] code .line:before,.prose-code.highlight-zsh[data-v-c164ce0a] code .line:before{color:var(--typography-color-primary-500);content:">";display:block;font-family:var(--font-mono);font-weight:700;inset-inline-start:-.1rem;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.copy-button[data-v-c164ce0a]{bottom:0;inset-inline-end:0;position:absolute}[data-v-c164ce0a] code{display:flex;flex-direction:column}[data-v-c164ce0a] .line{display:inline-table;min-height:1rem}.filename[data-v-c164ce0a]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radii-lg);color:var(--prose-code-block-color);font-family:var(--typography-font-code);font-size:var(--fontSize-xs);inset-inline-end:0;line-height:var(--lead-normal);padding:.5rem .75rem;position:absolute;top:0;transition:opacity .2s}.prose-code:hover .filename[data-v-c164ce0a]{opacity:0}.prose-code:hover .filename[data-v-c164ce0a]:hover{opacity:1}[data-v-c164ce0a] pre{display:flex;flex:1;line-height:var(--lead-relaxed);margin:0;overflow-x:auto;padding:var(--prose-code-block-pre-padding)}[data-v-c164ce0a] pre code{padding-inline-end:30px}[data-v-c164ce0a] .line.highlight{background-color:var(--prose-code-block-border-color)} diff --git a/.output/public/_nuxt/ProseCode.e6337228.js b/.output/public/_nuxt/ProseCode.e6337228.js new file mode 100644 index 0000000000..8334e64fd9 --- /dev/null +++ b/.output/public/_nuxt/ProseCode.e6337228.js @@ -0,0 +1 @@ +import{d as y,r as l,aj as k,ak as w,x,b as a,c as p,e as m,g as v,w as S,X as _,J as f,T as $,n as C,a8 as b,p as I,i as P,k as h,t as z,f as N,Z as T}from"./entry.19040e7f.js";const V=e=>(I("data-v-4a003820"),e=e(),P(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),M={class:"icon-wrapper"},R=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,s=l(),{copy:t}=k();w(s,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=x(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(u=>{console.warn("Couldn't copy to clipboard!",u)})};return(B,u)=>{const r=b;return a(),p("button",{ref_key:"copyButtonRef",ref:s,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",M,[v($,{name:"fade"},{default:S(()=>{var d,i;return[o.value==="copied"?(a(),_(r,{key:0,name:(d=f(c).copyButton)==null?void 0:d.iconCopied,size:"18",class:"copied"},null,8,["name"])):(a(),_(r,{key:1,name:(i=f(c).copyButton)==null?void 0:i.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}});const j=h(R,[["__scopeId","data-v-4a003820"]]),D={key:0,class:"filename"},E=y({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const n=l(!1);return(s,t)=>{const c=j;return a(),p("div",{class:C([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=o=>n.value=!0),onMouseleave:t[1]||(t[1]=o=>n.value=!1)},[e.filename?(a(),p("span",D,z(e.filename),1)):N("",!0),T(s.$slots,"default",{},void 0,!0),v(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}});const O=h(E,[["__scopeId","data-v-c164ce0a"]]);export{O as default}; diff --git a/.output/public/_nuxt/ProseCodeInline.21ce328c.css b/.output/public/_nuxt/ProseCodeInline.21ce328c.css new file mode 100644 index 0000000000..d807b61915 --- /dev/null +++ b/.output/public/_nuxt/ProseCodeInline.21ce328c.css @@ -0,0 +1 @@ +code[data-v-2f6bd69d]{background-color:var(--prose-code-inline-backgroundColor);border-radius:var(--prose-code-inline-borderRadius);color:var(--prose-code-inline-color);font-family:var(--typography-font-code);font-size:var(--prose-code-inline-fontSize);font-weight:var(--prose-code-inline-fontWeight);margin-left:1px;margin-right:1px;padding:var(--prose-code-inline-padding)}tbody code[data-v-2f6bd69d]{font-size:var(--prose-tbody-code-inline-fontSize)}h1 a code[data-v-2f6bd69d],h2 a code[data-v-2f6bd69d],h3 a code[data-v-2f6bd69d],h4 a code[data-v-2f6bd69d],h5 a code[data-v-2f6bd69d],h6 a code[data-v-2f6bd69d]{border-radius:var(--prose-code-inline-borderRadius);color:inherit;font-size:.777777em;padding:.15em .5em} diff --git a/.output/public/_nuxt/ProseCodeInline.ce59fb31.js b/.output/public/_nuxt/ProseCodeInline.ce59fb31.js new file mode 100644 index 0000000000..d355c18c6a --- /dev/null +++ b/.output/public/_nuxt/ProseCodeInline.ce59fb31.js @@ -0,0 +1 @@ +import{k as _,b as n,c as t,Z as o}from"./entry.19040e7f.js";const d={};function r(e,s){return n(),t("code",null,[o(e.$slots,"default",{},void 0,!0)])}const a=_(d,[["render",r],["__scopeId","data-v-2f6bd69d"]]);export{a as default}; diff --git a/.output/public/_nuxt/ProseEm.26a085fc.css b/.output/public/_nuxt/ProseEm.26a085fc.css new file mode 100644 index 0000000000..15c2eebb28 --- /dev/null +++ b/.output/public/_nuxt/ProseEm.26a085fc.css @@ -0,0 +1 @@ +em[data-v-b3b2ffd9]{font-family:var(--typography-font-body);font-style:italic} diff --git a/.output/public/_nuxt/ProseEm.3f888023.js b/.output/public/_nuxt/ProseEm.3f888023.js new file mode 100644 index 0000000000..38fe7312c2 --- /dev/null +++ b/.output/public/_nuxt/ProseEm.3f888023.js @@ -0,0 +1 @@ +import{k as t,b as _,c as r,Z as s}from"./entry.19040e7f.js";const n={};function o(e,c){return _(),r("em",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-b3b2ffd9"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProseH1.4070ea3e.css b/.output/public/_nuxt/ProseH1.4070ea3e.css new file mode 100644 index 0000000000..40ac65b894 --- /dev/null +++ b/.output/public/_nuxt/ProseH1.4070ea3e.css @@ -0,0 +1 @@ +h1[data-v-2001208a]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h1-fontSize);font-weight:var(--prose-h1-fontWeight);letter-spacing:var(--prose-h1-letterSpacing);line-height:var(--prose-h1-lineHeight);margin:var(--prose-h1-margin)}h1[data-v-2001208a] .icon{display:inline-block;height:var(--prose-h1-iconSize);margin-inline-start:12px;opacity:0;transition:opacity .1s;width:var(--prose-h1-iconSize)}h1 a[data-v-2001208a]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseH1.465cebbd.js b/.output/public/_nuxt/ProseH1.465cebbd.js new file mode 100644 index 0000000000..7d2a78d491 --- /dev/null +++ b/.output/public/_nuxt/ProseH1.465cebbd.js @@ -0,0 +1 @@ +import{d as i,x as r,I as t,b as a,c as u,g as m,w as l,Z as p,X as f,f as h,a8 as k,E as v,k as x}from"./entry.19040e7f.js";const g=["id"],C=i({__name:"ProseH1",props:{id:{}},setup(I){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h1",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-2001208a"]]);export{B as default}; diff --git a/.output/public/_nuxt/ProseH2.18d47a86.js b/.output/public/_nuxt/ProseH2.18d47a86.js new file mode 100644 index 0000000000..07bad86895 --- /dev/null +++ b/.output/public/_nuxt/ProseH2.18d47a86.js @@ -0,0 +1 @@ +import{d as i,x as r,I as t,b as a,c as u,g as m,w as l,Z as p,X as f,f as h,a8 as k,E as v,k as x}from"./entry.19040e7f.js";const g=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(I){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h2",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(C,[["__scopeId","data-v-70b0c1e2"]]);export{y as default}; diff --git a/.output/public/_nuxt/ProseH2.df45a763.css b/.output/public/_nuxt/ProseH2.df45a763.css new file mode 100644 index 0000000000..ceb62a7797 --- /dev/null +++ b/.output/public/_nuxt/ProseH2.df45a763.css @@ -0,0 +1 @@ +h2[data-v-70b0c1e2]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h2-fontSize);font-weight:var(--prose-h2-fontWeight);letter-spacing:var(--prose-h2-letterSpacing);line-height:var(--prose-h2-lineHeight);margin:var(--prose-h2-margin)}h2[data-v-70b0c1e2] .icon{display:inline-block;height:var(--prose-h2-iconSize);margin-inline-start:12px;opacity:0;transition:opacity .1s;width:var(--prose-h2-iconSize)}h2 a[data-v-70b0c1e2]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseH3.88c2d983.css b/.output/public/_nuxt/ProseH3.88c2d983.css new file mode 100644 index 0000000000..bf84e17fd3 --- /dev/null +++ b/.output/public/_nuxt/ProseH3.88c2d983.css @@ -0,0 +1 @@ +h3[data-v-4cf5bb93]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h3-fontSize);font-weight:var(--prose-h3-fontWeight);letter-spacing:var(--prose-h3-letterSpacing);line-height:var(--prose-h3-lineHeight);margin:var(--prose-h3-margin)}h3[data-v-4cf5bb93] .icon{display:inline-block;height:var(--prose-h3-iconSize);margin-inline-start:12px;opacity:0;transition:opacity .1s;width:var(--prose-h3-iconSize)}h3 a[data-v-4cf5bb93]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseH3.b6b2e5d1.js b/.output/public/_nuxt/ProseH3.b6b2e5d1.js new file mode 100644 index 0000000000..1cf85b179c --- /dev/null +++ b/.output/public/_nuxt/ProseH3.b6b2e5d1.js @@ -0,0 +1 @@ +import{d as i,x as r,I as t,b as a,c as u,g as m,w as l,Z as f,X as p,f as h,a8 as k,E as v,k as x}from"./entry.19040e7f.js";const b=["id"],g=i({__name:"ProseH3",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h3",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,b)}}});const y=x(g,[["__scopeId","data-v-4cf5bb93"]]);export{y as default}; diff --git a/.output/public/_nuxt/ProseH4.407e72c2.js b/.output/public/_nuxt/ProseH4.407e72c2.js new file mode 100644 index 0000000000..2b1da4cad3 --- /dev/null +++ b/.output/public/_nuxt/ProseH4.407e72c2.js @@ -0,0 +1 @@ +import{d as i,x as u,I as t,b as _,c as r,g as m,w as l,Z as p,X as f,f as h,a8 as x,E as k,k as v}from"./entry.19040e7f.js";const g=["id"],C=i({__name:"ProseH4",props:{id:{}},setup(I){const{prose:e}=u(),a=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),c=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const s=x,d=k;return _(),r("h4",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),a.value?(_(),f(s,{key:0,name:c.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=v(C,[["__scopeId","data-v-57e8d291"]]);export{y as default}; diff --git a/.output/public/_nuxt/ProseH4.5b64d6f8.css b/.output/public/_nuxt/ProseH4.5b64d6f8.css new file mode 100644 index 0000000000..7c59825e04 --- /dev/null +++ b/.output/public/_nuxt/ProseH4.5b64d6f8.css @@ -0,0 +1 @@ +h4[data-v-57e8d291]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h4-fontSize);font-weight:var(--prose-h4-fontWeight);letter-spacing:var(--prose-h4-letterSpacing);line-height:var(--prose-h4-lineHeight);margin:var(--prose-h4-margin)}h4[data-v-57e8d291] .icon{display:inline-block;height:var(--prose-h4-iconSize);margin-inline-start:10px;opacity:0;transition:opacity .1s;width:var(--prose-h4-iconSize)}h4 a[data-v-57e8d291]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseH5.79b89231.css b/.output/public/_nuxt/ProseH5.79b89231.css new file mode 100644 index 0000000000..afbce1bf17 --- /dev/null +++ b/.output/public/_nuxt/ProseH5.79b89231.css @@ -0,0 +1 @@ +h5[data-v-637c86f5]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h5-fontSize);font-weight:var(--prose-h5-fontWeight);line-height:var(--prose-h5-lineHeight);margin:var(--prose-h5-margin)}h5[data-v-637c86f5] .icon{display:inline-block;height:var(--prose-h5-iconSize);margin-inline-start:8px;opacity:0;transition:opacity .1s;width:var(--prose-h5-iconSize)}h5 a[data-v-637c86f5]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseH5.b8fecace.js b/.output/public/_nuxt/ProseH5.b8fecace.js new file mode 100644 index 0000000000..072e00cafd --- /dev/null +++ b/.output/public/_nuxt/ProseH5.b8fecace.js @@ -0,0 +1 @@ +import{d as i,x as r,I as t,b as a,c as u,g as m,w as l,Z as f,X as p,f as h,a8 as k,E as v,k as x}from"./entry.19040e7f.js";const g=["id"],C=i({__name:"ProseH5",props:{id:{}},setup(I){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h5",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-637c86f5"]]);export{B as default}; diff --git a/.output/public/_nuxt/ProseH6.3b25caf1.js b/.output/public/_nuxt/ProseH6.3b25caf1.js new file mode 100644 index 0000000000..5ec15d38ff --- /dev/null +++ b/.output/public/_nuxt/ProseH6.3b25caf1.js @@ -0,0 +1 @@ +import{d as i,x as r,I as t,b as a,c as u,g as m,w as l,Z as p,X as f,f as h,a8 as k,E as v,k as x}from"./entry.19040e7f.js";const g=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(I){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h6",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(C,[["__scopeId","data-v-913dabe3"]]);export{y as default}; diff --git a/.output/public/_nuxt/ProseH6.56de6cba.css b/.output/public/_nuxt/ProseH6.56de6cba.css new file mode 100644 index 0000000000..7b4efca70f --- /dev/null +++ b/.output/public/_nuxt/ProseH6.56de6cba.css @@ -0,0 +1 @@ +h6[data-v-913dabe3]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h6-fontSize);font-weight:var(--prose-h6-fontWeight);line-height:var(--prose-h6-lineHeight);margin:var(--prose-h6-margin)}h6[data-v-913dabe3] .icon{display:inline-block;height:var(--prose-h6-iconSize);margin-inline-start:8px;opacity:0;transition:opacity .1s;width:var(--prose-h6-iconSize)}h6 a[data-v-913dabe3]:hover .icon{opacity:1} diff --git a/.output/public/_nuxt/ProseHr.c7c78bbe.css b/.output/public/_nuxt/ProseHr.c7c78bbe.css new file mode 100644 index 0000000000..bebec79dc3 --- /dev/null +++ b/.output/public/_nuxt/ProseHr.c7c78bbe.css @@ -0,0 +1 @@ +hr[data-v-89dedb08]{border-top:var(--prose-hr-width) var(--prose-hr-style) var(--prose-hr-color);margin:var(--prose-hr-margin)} diff --git a/.output/public/_nuxt/ProseHr.e1825b32.js b/.output/public/_nuxt/ProseHr.e1825b32.js new file mode 100644 index 0000000000..141476a2de --- /dev/null +++ b/.output/public/_nuxt/ProseHr.e1825b32.js @@ -0,0 +1 @@ +import{k as e,b as _,c as r}from"./entry.19040e7f.js";const t={};function c(o,s){return _(),r("hr")}const a=e(t,[["render",c],["__scopeId","data-v-89dedb08"]]);export{a as default}; diff --git a/.output/public/_nuxt/ProseImg.018721e2.css b/.output/public/_nuxt/ProseImg.018721e2.css new file mode 100644 index 0000000000..9b325ceb23 --- /dev/null +++ b/.output/public/_nuxt/ProseImg.018721e2.css @@ -0,0 +1 @@ +img[data-v-2ef15301]{margin:var(--prose-img-margin)} diff --git a/.output/public/_nuxt/ProseImg.f7a1a5e6.js b/.output/public/_nuxt/ProseImg.f7a1a5e6.js new file mode 100644 index 0000000000..1a9e36be52 --- /dev/null +++ b/.output/public/_nuxt/ProseImg.f7a1a5e6.js @@ -0,0 +1 @@ +import{d as a,I as n,al as i,l as o,b as c,c as d,O as u,J as l,k as h}from"./entry.19040e7f.js";const f=["src","alt","width","height"],m=a({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,r=n(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?i(e.src,o().app.baseURL):e.src});return(s,_)=>(c(),d("img",u(s.$attrs,{src:l(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}});const p=h(m,[["__scopeId","data-v-2ef15301"]]);export{p as default}; diff --git a/.output/public/_nuxt/ProseLi.68e30a8e.js b/.output/public/_nuxt/ProseLi.68e30a8e.js new file mode 100644 index 0000000000..0c614d015a --- /dev/null +++ b/.output/public/_nuxt/ProseLi.68e30a8e.js @@ -0,0 +1 @@ +import{k as t,b as _,c as r,Z as s}from"./entry.19040e7f.js";const n={};function o(e,c){return _(),r("li",null,[s(e.$slots,"default",{},void 0,!0)])}const f=t(n,[["render",o],["__scopeId","data-v-4c2f5fb9"]]);export{f as default}; diff --git a/.output/public/_nuxt/ProseLi.ac05b421.css b/.output/public/_nuxt/ProseLi.ac05b421.css new file mode 100644 index 0000000000..884f9da75b --- /dev/null +++ b/.output/public/_nuxt/ProseLi.ac05b421.css @@ -0,0 +1 @@ +li[data-v-4c2f5fb9]{font-family:var(--typography-font-body);list-style-position:var(--prose-li-listStylePosition);margin:var(--prose-li-margin)} diff --git a/.output/public/_nuxt/ProseOl.5ddab164.css b/.output/public/_nuxt/ProseOl.5ddab164.css new file mode 100644 index 0000000000..0150179552 --- /dev/null +++ b/.output/public/_nuxt/ProseOl.5ddab164.css @@ -0,0 +1 @@ +ol[data-v-e6ab85be]{font-family:var(--typography-font-body);list-style-type:var(--prose-ol-listStyleType);margin:var(--prose-ol-margin);padding-inline-start:var(--prose-ol-paddingInlineStart)}ol[data-v-e6ab85be]>li::marker{color:var(--prose-ol-li-markerColor)}ol[data-v-e6ab85be]>li ol,ol[data-v-e6ab85be]>li ul{margin:0} diff --git a/.output/public/_nuxt/ProseOl.9d7ce068.js b/.output/public/_nuxt/ProseOl.9d7ce068.js new file mode 100644 index 0000000000..868ebe7504 --- /dev/null +++ b/.output/public/_nuxt/ProseOl.9d7ce068.js @@ -0,0 +1 @@ +import{k as t,b as _,c as o,Z as r}from"./entry.19040e7f.js";const s={};function n(e,a){return _(),o("ol",null,[r(e.$slots,"default",{},void 0,!0)])}const l=t(s,[["render",n],["__scopeId","data-v-e6ab85be"]]);export{l as default}; diff --git a/.output/public/_nuxt/ProseP.945916cd.css b/.output/public/_nuxt/ProseP.945916cd.css new file mode 100644 index 0000000000..3f2843ac25 --- /dev/null +++ b/.output/public/_nuxt/ProseP.945916cd.css @@ -0,0 +1 @@ +p[data-v-9dc9c102]{font-family:var(--typography-font-body);font-size:var(--prose-p-fontSize);line-height:var(--prose-p-lineHeight);margin:var(--prose-p-margin)}p[data-v-9dc9c102] br{content:"";display:block;margin:var(--prose-p-br-margin)} diff --git a/.output/public/_nuxt/ProseP.b61fc7b8.js b/.output/public/_nuxt/ProseP.b61fc7b8.js new file mode 100644 index 0000000000..ce0c39bb2f --- /dev/null +++ b/.output/public/_nuxt/ProseP.b61fc7b8.js @@ -0,0 +1 @@ +import{k as _,b as t,c as n,Z as c}from"./entry.19040e7f.js";const o={};function r(e,s){return t(),n("p",null,[c(e.$slots,"default",{},void 0,!0)])}const d=_(o,[["render",r],["__scopeId","data-v-9dc9c102"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProsePre.64f579a8.js b/.output/public/_nuxt/ProsePre.64f579a8.js new file mode 100644 index 0000000000..9177f096f8 --- /dev/null +++ b/.output/public/_nuxt/ProsePre.64f579a8.js @@ -0,0 +1 @@ +import l from"./ProseCode.e6337228.js";import{d as n,b as s,X as o,w as i,e as r,n as u,ay as g,Z as d}from"./entry.19040e7f.js";const y=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,c)=>{const a=l;return s(),o(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:i(()=>[r("pre",{class:u(t.$props.class),style:g(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{y as default}; diff --git a/.output/public/_nuxt/ProsePre.e63e49c6.css b/.output/public/_nuxt/ProsePre.e63e49c6.css new file mode 100644 index 0000000000..56626668b7 --- /dev/null +++ b/.output/public/_nuxt/ProsePre.e63e49c6.css @@ -0,0 +1 @@ +pre code .line{display:block;min-height:1rem} diff --git a/.output/public/_nuxt/ProseScript.745d8058.js b/.output/public/_nuxt/ProseScript.745d8058.js new file mode 100644 index 0000000000..eea25c8fcd --- /dev/null +++ b/.output/public/_nuxt/ProseScript.745d8058.js @@ -0,0 +1 @@ +import{d as s,I as n,b as r,c as a,D as e,f as c,e as t}from"./entry.19040e7f.js";const d={key:0},i=t("code",null,"script",-1),l=t("code",null,"ProseScript",-1),f=s({__name:"ProseScript",props:{src:{type:String,default:""}},setup(p){const o=n(()=>!1);return(_,m)=>o.value?(r(),a("div",d,[e(" Rendering the "),i,e(" element is dangerous and is disabled by default. Consider implementing your own "),l,e(" element to have control over script rendering. ")])):c("",!0)}});export{f as default}; diff --git a/.output/public/_nuxt/ProseStrong.263d77e1.css b/.output/public/_nuxt/ProseStrong.263d77e1.css new file mode 100644 index 0000000000..85ad92cbee --- /dev/null +++ b/.output/public/_nuxt/ProseStrong.263d77e1.css @@ -0,0 +1 @@ +strong[data-v-84b57b07]{font-family:var(--typography-font-body);font-weight:var(--prose-strong-fontWeight)} diff --git a/.output/public/_nuxt/ProseStrong.f0970c03.js b/.output/public/_nuxt/ProseStrong.f0970c03.js new file mode 100644 index 0000000000..8fb2faeb8d --- /dev/null +++ b/.output/public/_nuxt/ProseStrong.f0970c03.js @@ -0,0 +1 @@ +import{k as t,b as r,c as n,Z as o}from"./entry.19040e7f.js";const s={};function _(e,c){return r(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(s,[["render",_],["__scopeId","data-v-84b57b07"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProseTable.c65fbffe.css b/.output/public/_nuxt/ProseTable.c65fbffe.css new file mode 100644 index 0000000000..930ef2d9d1 --- /dev/null +++ b/.output/public/_nuxt/ProseTable.c65fbffe.css @@ -0,0 +1 @@ +.table-wrapper[data-v-78f198db]{margin:var(--prose-table-margin);max-width:100%;overflow-x:auto}table[data-v-78f198db]{font-family:var(--typography-font-body);font-size:var(--prose-table-fontSize);line-height:var(--prose-table-lineHeight);table-layout:auto;text-align:var(--prose-table-textAlign);width:100%}table[data-v-78f198db] code{white-space:nowrap} diff --git a/.output/public/_nuxt/ProseTable.dec9e2a1.js b/.output/public/_nuxt/ProseTable.dec9e2a1.js new file mode 100644 index 0000000000..c5807d6788 --- /dev/null +++ b/.output/public/_nuxt/ProseTable.dec9e2a1.js @@ -0,0 +1 @@ +import{k as t,b as _,c as s,e as a,Z as n}from"./entry.19040e7f.js";const o={},r={class:"table-wrapper"};function c(e,d){return _(),s("div",r,[a("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",c],["__scopeId","data-v-78f198db"]]);export{f as default}; diff --git a/.output/public/_nuxt/ProseTbody.5fd2a0b2.js b/.output/public/_nuxt/ProseTbody.5fd2a0b2.js new file mode 100644 index 0000000000..9881026e45 --- /dev/null +++ b/.output/public/_nuxt/ProseTbody.5fd2a0b2.js @@ -0,0 +1 @@ +import{k as t,b as n,c as o,Z as c}from"./entry.19040e7f.js";const r={};function s(e,_){return n(),o("tbody",null,[c(e.$slots,"default")])}const l=t(r,[["render",s]]);export{l as default}; diff --git a/.output/public/_nuxt/ProseTd.41ebe51f.js b/.output/public/_nuxt/ProseTd.41ebe51f.js new file mode 100644 index 0000000000..eea216eb28 --- /dev/null +++ b/.output/public/_nuxt/ProseTd.41ebe51f.js @@ -0,0 +1 @@ +import{k as _,b as t,c as n,Z as o}from"./entry.19040e7f.js";const r={};function s(e,a){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-5f84e3ba"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProseTd.b09a068a.css b/.output/public/_nuxt/ProseTd.b09a068a.css new file mode 100644 index 0000000000..e4a1e604d5 --- /dev/null +++ b/.output/public/_nuxt/ProseTd.b09a068a.css @@ -0,0 +1 @@ +tbody td[data-v-5f84e3ba]{font-family:var(--typography-font-body);padding:var(--prose-tbody-td-padding)}tbody td[data-v-5f84e3ba]:first-child{padding-inline-start:0}tbody td[data-v-5f84e3ba]:last-child{padding-inline-end:0} diff --git a/.output/public/_nuxt/ProseTh.c2582e0d.js b/.output/public/_nuxt/ProseTh.c2582e0d.js new file mode 100644 index 0000000000..fa42cdf5f6 --- /dev/null +++ b/.output/public/_nuxt/ProseTh.c2582e0d.js @@ -0,0 +1 @@ +import{k as _,b as t,c as n,Z as o}from"./entry.19040e7f.js";const d={};function r(e,s){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const a=_(d,[["render",r],["__scopeId","data-v-40ddd69b"]]);export{a as default}; diff --git a/.output/public/_nuxt/ProseTh.cb34fc46.css b/.output/public/_nuxt/ProseTh.cb34fc46.css new file mode 100644 index 0000000000..fae8f4ed16 --- /dev/null +++ b/.output/public/_nuxt/ProseTh.cb34fc46.css @@ -0,0 +1 @@ +th[data-v-40ddd69b]{color:var(--prose-th-color);font-family:var(--typography-font-display);font-weight:var(--prose-th-fontWeight);padding:var(--prose-th-padding);text-align:var(--prose-th-textAlign)}th[data-v-40ddd69b]:first-child{padding-inline-start:0}th[data-v-40ddd69b]:last-child{padding-inline-end:0} diff --git a/.output/public/_nuxt/ProseThead.332c0b8a.css b/.output/public/_nuxt/ProseThead.332c0b8a.css new file mode 100644 index 0000000000..5b9f795c29 --- /dev/null +++ b/.output/public/_nuxt/ProseThead.332c0b8a.css @@ -0,0 +1 @@ +thead[data-v-81e7d1ab]{border-color:var(--prose-thead-border-color);border-style:var(--prose-thead-border-style);border-width:var(--prose-thead-border-width);border-bottom:var(--prose-thead-borderBottom-width);border-bottom-color:var(--prose-thead-borderBottom-color);border-bottom-style:var(--prose-thead-borderBottom-style);font-family:var(--typography-font-display)} diff --git a/.output/public/_nuxt/ProseThead.beac4890.js b/.output/public/_nuxt/ProseThead.beac4890.js new file mode 100644 index 0000000000..103bf3d266 --- /dev/null +++ b/.output/public/_nuxt/ProseThead.beac4890.js @@ -0,0 +1 @@ +import{k as _,b as t,c as n,Z as o}from"./entry.19040e7f.js";const a={};function r(e,s){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(a,[["render",r],["__scopeId","data-v-81e7d1ab"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProseTr.65bec588.css b/.output/public/_nuxt/ProseTr.65bec588.css new file mode 100644 index 0000000000..7f61339cb8 --- /dev/null +++ b/.output/public/_nuxt/ProseTr.65bec588.css @@ -0,0 +1 @@ +tbody tr[data-v-759aaa1b]{border-bottom:var(--prose-tbody-tr-borderBottom-width) var(--prose-tbody-tr-borderBottom-style) var(--prose-tbody-tr-borderBottom-color)} diff --git a/.output/public/_nuxt/ProseTr.8742a66a.js b/.output/public/_nuxt/ProseTr.8742a66a.js new file mode 100644 index 0000000000..f865df1245 --- /dev/null +++ b/.output/public/_nuxt/ProseTr.8742a66a.js @@ -0,0 +1 @@ +import{k as _,b as t,c as n,Z as a}from"./entry.19040e7f.js";const r={};function o(e,s){return t(),n("tr",null,[a(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",o],["__scopeId","data-v-759aaa1b"]]);export{d as default}; diff --git a/.output/public/_nuxt/ProseUl.c9c63ec7.css b/.output/public/_nuxt/ProseUl.c9c63ec7.css new file mode 100644 index 0000000000..951bceceb2 --- /dev/null +++ b/.output/public/_nuxt/ProseUl.c9c63ec7.css @@ -0,0 +1 @@ +ul[data-v-5bd61aad]{font-family:var(--typography-font-body);list-style-type:var(--prose-ul-listStyleType);margin:var(--prose-ul-margin);padding-inline-start:var(--prose-ul-paddingInlineStart)}ul[data-v-5bd61aad]>li::marker{color:var(--prose-ul-li-markerColor)}ul[data-v-5bd61aad]>li ol,ul[data-v-5bd61aad]>li ul{margin:0} diff --git a/.output/public/_nuxt/ProseUl.cb49d7b7.js b/.output/public/_nuxt/ProseUl.cb49d7b7.js new file mode 100644 index 0000000000..2c2f3fe63a --- /dev/null +++ b/.output/public/_nuxt/ProseUl.cb49d7b7.js @@ -0,0 +1 @@ +import{k as t,b as _,c as r,Z as s}from"./entry.19040e7f.js";const a={};function n(e,o){return _(),r("ul",null,[s(e.$slots,"default",{},void 0,!0)])}const c=t(a,[["render",n],["__scopeId","data-v-5bd61aad"]]);export{c as default}; diff --git a/.output/public/_nuxt/Sandbox.786aacf2.js b/.output/public/_nuxt/Sandbox.786aacf2.js new file mode 100644 index 0000000000..bca0f87f31 --- /dev/null +++ b/.output/public/_nuxt/Sandbox.786aacf2.js @@ -0,0 +1 @@ +import v from"./TabsHeader.9f8ec2e7.js";import{d as x,aq as g,r as n,o as h,b as r,c as l,X as S,J as c,f as y,k}from"./entry.19040e7f.js";const $={class:"sandbox"},w=["src"],B={key:2},C=x({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const e=i,p=g(),o={CodeSandBox:()=>`https://codesandbox.io/embed/github/${e.repo}/tree/${e.branch}/${e.dir}?hidenavigation=1&theme=${p.value}`,StackBlitz:()=>`https://stackblitz.com/github/${e.repo}/tree/${e.branch}/${e.dir}?embed=1&file=${e.file}&theme=${p.value}`},u=Object.keys(o).map(t=>({label:t})),d=n(-1),b=n(),s=n(""),a=n(""),_=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},f=t=>{d.value=t,_(u[t].label)};return h(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",s.value=e.src||o[a.value](),d.value=Object.keys(o).indexOf(a.value)}),(t,I)=>{const m=v;return r(),l("div",$,[i.src?y("",!0):(r(),S(m,{key:0,ref_key:"tabs",ref:b,"active-tab-index":c(d),tabs:c(u),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(s)?(r(),l("iframe",{key:1,src:c(s),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,w)):(r(),l("span",B,"Loading Sandbox..."))])}}});const O=k(C,[["__scopeId","data-v-fecef2a9"]]);export{O as default}; diff --git a/.output/public/_nuxt/Sandbox.cca703cd.css b/.output/public/_nuxt/Sandbox.cca703cd.css new file mode 100644 index 0000000000..c818953662 --- /dev/null +++ b/.output/public/_nuxt/Sandbox.cca703cd.css @@ -0,0 +1 @@ +.sandbox[data-v-fecef2a9]{--sandbox-height:700px;background:var(--elements-surface-background-base);border:1px solid var(--elements-border-secondary-static);border-radius:var(--radii-md);font-size:var(--text-3xl-fontSize);height:700px;height:var(--sandbox-height);line-height:var(--text-3xl-lineHeight)}.sandbox[data-v-fecef2a9],.sandbox iframe[data-v-fecef2a9]{overflow:hidden;width:100%}.sandbox iframe[data-v-fecef2a9]{height:100%} diff --git a/.output/public/_nuxt/SourceLink.18b01e12.js b/.output/public/_nuxt/SourceLink.18b01e12.js new file mode 100644 index 0000000000..64bac715ba --- /dev/null +++ b/.output/public/_nuxt/SourceLink.18b01e12.js @@ -0,0 +1 @@ +import o from"./ProseP.b61fc7b8.js";import{d as r,b as t,X as n}from"./entry.19040e7f.js";const m=r({__name:"SourceLink",props:{source:{type:String,required:!0}},setup(_){return(c,p)=>{const e=o;return t(),n(e)}}});export{m as default}; diff --git a/.output/public/_nuxt/TabsHeader.56d3bbc7.css b/.output/public/_nuxt/TabsHeader.56d3bbc7.css new file mode 100644 index 0000000000..c444819c39 --- /dev/null +++ b/.output/public/_nuxt/TabsHeader.56d3bbc7.css @@ -0,0 +1 @@ +.tabs-header[data-v-9b59cc28]{background:var(--color-gray-200);color:var(--color-red-700);position:relative}:root.dark .tabs-header[data-v-9b59cc28]{background:var(--color-gray-800);color:var(--color-red-500)}.tabs-header .tabs[data-v-9b59cc28]{display:flex;overflow-x:auto;padding-left:var(--space-2);padding-right:var(--space-2);position:relative;z-index:0}.tabs-header .tabs button[data-v-9b59cc28]{font-family:var(--font-mono);font-size:var(--text-sm-fontSize);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-sm-lineHeight);padding:var(--space-rem-625) var(--space-4);position:relative;transition:color .1s,background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs-header .tabs button.not-active[data-v-9b59cc28]{color:var(--color-gray-700)}.tabs-header .tabs button.not-active[data-v-9b59cc28]:hover{background:var(--color-gray-300);color:var(--color-gray-800)}:root.dark .tabs-header .tabs button.not-active[data-v-9b59cc28]{color:var(--color-gray-200)}:root.dark .tabs-header .tabs button.not-active[data-v-9b59cc28]:hover{background:var(--color-gray-700);color:var(--color-gray-200)}.tabs-header .tabs button.active[data-v-9b59cc28]{color:var(--color-gray-500)}:root.dark .tabs-header .tabs button.active[data-v-9b59cc28]{color:var(--color-gray-300)}.tabs-header .tabs .highlight-underline[data-v-9b59cc28]{height:100%;position:absolute;top:0;transition:inset-inline-start .15s,width .15s;z-index:-1}.tabs-header .tabs .highlight-underline .tab[data-v-9b59cc28]{background-color:var(--color-gray-100);display:flex;height:100%;width:100%}:root.dark .tabs-header .tabs .highlight-underline .tab[data-v-9b59cc28]{background-color:var(--color-gray-900)} diff --git a/.output/public/_nuxt/TabsHeader.9f8ec2e7.js b/.output/public/_nuxt/TabsHeader.9f8ec2e7.js new file mode 100644 index 0000000000..6e5ea3ce3f --- /dev/null +++ b/.output/public/_nuxt/TabsHeader.9f8ec2e7.js @@ -0,0 +1 @@ +import{d as m,r as l,$ as v,b as s,c as a,F as g,ah as x,e as u,f as y,Z as k,n as I,t as T,p as S,i as $,Q as C,k as w}from"./entry.19040e7f.js";const B=t=>(S("data-v-9b59cc28"),t=t(),$(),t),H={class:"tabs-header"},N=["onClick"],U=B(()=>u("span",{class:"tab"},null,-1)),q=[U],F=m({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,h=_,n=l(),r=l(),o=e=>{e&&(r.value.style.insetInlineStart=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,c)=>{h("update:activeTabIndex",c),C(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,c)=>(s(),a("div",H,[t.tabs?(s(),a("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(s(!0),a(g,null,x(t.tabs,({label:d},i)=>(s(),a("button",{key:`${i}${d}`,class:I([t.activeTabIndex===i?"active":"not-active"]),onClick:b=>f(b,i)},T(d),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},q,512)],512)):y("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const R=w(F,[["__scopeId","data-v-9b59cc28"]]);export{R as default}; diff --git a/.output/public/_nuxt/Terminal.54103379.css b/.output/public/_nuxt/Terminal.54103379.css new file mode 100644 index 0000000000..9d2101d1f8 --- /dev/null +++ b/.output/public/_nuxt/Terminal.54103379.css @@ -0,0 +1 @@ +.terminal[data-v-63eb7158]{background:var(--elements-surface-background-base);border:1px solid var(--elements-border-secondary-static);border-radius:var(--radii-lg);cursor:pointer;display:flex;flex-direction:column;height:var(--space-64);margin-left:auto;margin-right:auto;max-width:var(--space-128);overflow:hidden;position:relative;width:100%}.terminal .copied[data-v-63eb7158]{align-items:center;display:flex;justify-content:center;z-index:10}.terminal .copied[data-v-63eb7158],.terminal .copied .scrim[data-v-63eb7158]{height:100%;inset-inline-start:0;position:absolute;top:0;width:100%}.terminal .copied .scrim[data-v-63eb7158]{background:var(--color-gray-500);opacity:.75}:root.dark .terminal .copied .scrim[data-v-63eb7158]{background:var(--color-gray-900)}.terminal .copied .content[data-v-63eb7158]{color:var(--color-gray-100);font-size:var(--fontSize-lg);font-weight:var(--fontWeight-semibold);z-index:10}.terminal .header[data-v-63eb7158]{align-items:center;border-bottom:1px solid var(--elements-border-secondary-static);display:flex;height:var(--space-12);position:relative;width:100%}.terminal .header .controls[data-v-63eb7158]{display:flex;margin-inline-start:var(--space-4)}.terminal .header .controls div[data-v-63eb7158]:first-child{background:var(--color-red-400);border-radius:var(--radii-full);height:var(--space-3);width:var(--space-3)}.terminal .header .controls div[data-v-63eb7158]:nth-child(2){background:var(--color-yellow-400)}.terminal .header .controls div[data-v-63eb7158]:nth-child(2),.terminal .header .controls div[data-v-63eb7158]:nth-child(3){border-radius:var(--radii-full);height:var(--space-3);margin-inline-start:var(--space-2);width:var(--space-3)}.terminal .header .controls div[data-v-63eb7158]:nth-child(3){background:var(--color-green-400)}.terminal .header .title[data-v-63eb7158]{align-items:center;display:flex;font-family:var(--font-mono);font-weight:var(--fontWeight-semibold);height:100%;inset-inline-start:0;justify-content:center;position:absolute;top:0;width:100%}.terminal .window[data-v-63eb7158]{display:flex;flex:1 1 0%;flex-direction:column;font-family:var(--font-mono);font-size:var(--text-sm-fontSize);padding:var(--space-4)}.terminal .window .line[data-v-63eb7158]{display:flex;margin-bottom:var(--space-1)}.terminal .window .sign[data-v-63eb7158]{display:inline-block;font-weight:var(--fontWeight-bold);margin-inline-end:var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal .window .content[data-v-63eb7158]{display:inline-block}.terminal .prompt[data-v-63eb7158]{font-weight:var(--fontWeight-semibold);opacity:0;padding-bottom:var(--space-2);padding-top:var(--space-2);text-align:center}.terminal:hover .prompt[data-v-63eb7158]{opacity:1} diff --git a/.output/public/_nuxt/Terminal.ab57a6bc.js b/.output/public/_nuxt/Terminal.ab57a6bc.js new file mode 100644 index 0000000000..21ff86122e --- /dev/null +++ b/.output/public/_nuxt/Terminal.ab57a6bc.js @@ -0,0 +1,2 @@ +import{d as v,aj as m,r as h,I as y,b as s,c as o,J as i,f as _,e,F as f,ah as k,p as C,i as b,t as g,k as x}from"./entry.19040e7f.js";const c=t=>(C("data-v-63eb7158"),t=t(),b(),t),I={key:0,class:"copied"},S=c(()=>e("div",{class:"scrim"},null,-1)),w=c(()=>e("div",{class:"content"}," Copied! ",-1)),B=[S,w],T=c(()=>e("div",{class:"header"},[e("div",{class:"controls"},[e("div"),e("div"),e("div")]),e("div",{class:"title"}," Bash ")],-1)),j={class:"window"},F=c(()=>e("span",{class:"sign"},"$",-1)),N={class:"content"},V={key:1,class:"prompt"},q=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(t){const a=t,{copy:p}=m(),n=h("init"),r=y(()=>typeof a.content=="string"?[a.content]:a.content),l=u=>{p(r.value.join(` +`)).then(()=>{n.value="copied",setTimeout(()=>{n.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(u,A)=>(s(),o("div",{class:"terminal",onClick:l},[i(n)==="copied"?(s(),o("div",I,B)):_("",!0),T,e("div",j,[(s(!0),o(f,null,k(i(r),d=>(s(),o("span",{key:d,class:"line"},[F,e("span",N,g(d),1)]))),128))]),i(n)!=="copied"?(s(),o("div",V," Click to copy ")):_("",!0)]))}});const E=x(q,[["__scopeId","data-v-63eb7158"]]);export{E as default}; diff --git a/.output/public/_nuxt/TokensPlayground.1993f1fc.js b/.output/public/_nuxt/TokensPlayground.1993f1fc.js new file mode 100644 index 0000000000..9c52b362d8 --- /dev/null +++ b/.output/public/_nuxt/TokensPlayground.1993f1fc.js @@ -0,0 +1 @@ +import{d as n,at as a,b as t,c as s,e as o,t as r,J as c}from"./entry.19040e7f.js";const m=n({__name:"TokensPlayground",setup(l){const{theme:e}=a();return(u,i)=>(t(),s("div",null,[o("pre",null,r(JSON.stringify(c(e),null,2)),1)]))}});export{m as default}; diff --git a/.output/public/_nuxt/VideoPlayer.0721ce38.js b/.output/public/_nuxt/VideoPlayer.0721ce38.js new file mode 100644 index 0000000000..fc0af38559 --- /dev/null +++ b/.output/public/_nuxt/VideoPlayer.0721ce38.js @@ -0,0 +1 @@ +import{_}from"./NuxtImg.vue.aab88a57.js";import{d as f,I as i,r as m,b as s,c as a,J as e,X as v,f as u,F as h,ah as k,n as g,p as w,i as b,e as x,k as I}from"./entry.19040e7f.js";const B=t=>(w("data-v-cfa5f079"),t=t(),b(),t),S={key:1,class:"loaded"},V=["poster"],C=["src"],$=["src","type"],N=["autoplay","src"],P=B(()=>x("button",null,null,-1)),E=[P],F=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=m(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,l;return r.src||((l=(o=r.sources)==null?void 0:o[0])==null?void 0:l.src)||!1});return(o,l)=>{const y=_;return s(),a("div",{class:g(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),v(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",S,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,N)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,C)):u("",!0),(s(!0),a(h,null,k(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,V))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:l[0]||(l[0]=n=>p.value=!0)},E))],2)}}});const z=I(F,[["__scopeId","data-v-cfa5f079"]]);export{z as default}; diff --git a/.output/public/_nuxt/VideoPlayer.afedae8c.css b/.output/public/_nuxt/VideoPlayer.afedae8c.css new file mode 100644 index 0000000000..48c0cc3c36 --- /dev/null +++ b/.output/public/_nuxt/VideoPlayer.afedae8c.css @@ -0,0 +1 @@ +.video-player[data-v-cfa5f079]{background:var(--color-gray-900);border-radius:var(--radii-lg);display:inline-block;margin-bottom:var(--space-8);margin-top:var(--space-8);overflow:hidden;position:relative}.video-player .loaded[data-v-cfa5f079]{height:100%;inset-inline-start:0;position:absolute;top:0;width:100%}.video-player video[data-v-cfa5f079]{width:100%}.video-player iframe[data-v-cfa5f079]{height:100%;width:100%}.video-player .play-button[data-v-cfa5f079]{cursor:pointer;height:100%;inset-inline-start:0;position:absolute;top:0;width:100%}.video-player .play-button button[data-v-cfa5f079]{background-color:transparent;background-image:url('data:image/svg+xml;utf8,');background-position:50%;background-repeat:no-repeat;filter:grayscale(100%);height:var(--space-24);inset-inline-start:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);transition:filter .1s cubic-bezier(0,0,.2,1);width:var(--space-24);z-index:1}.video-player .play-button:hover button[data-v-cfa5f079]{filter:none} diff --git a/.output/public/_nuxt/VoltaBoard.a5d6b336.css b/.output/public/_nuxt/VoltaBoard.a5d6b336.css new file mode 100644 index 0000000000..4c75428700 --- /dev/null +++ b/.output/public/_nuxt/VoltaBoard.a5d6b336.css @@ -0,0 +1 @@ +iframe{background-color:var(--elements-state-primary-backgroundColor-primary)!important;border-color:var(--elements-state-primary-borderColor-primary)!important;border-radius:var(--radii-md);color:var(--elements-state-primary-color-primary)!important;min-height:66.66667vh;width:var(--size-full)}iframe :deep(p code){background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important}iframe :deep(code){background-color:var(--elements-state-primary-backgroundColor-secondary)!important;color:var(--elements-state-primary-color-primary)!important}iframe :deep(a code){border-color:var(--elements-state-primary-borderColor-primary)!important}iframe :deep(a){border-color:currentColor}iframe :deep(a) code{background-color:var(--elements-state-primary-backgroundColor-primary)!important}iframe :deep(a):hover{border-color:currentColor!important;color:var(--elements-state-primary-color-secondary)!important}iframe :deep(a):hover code{background-color:var(--elements-state-primary-backgroundColor-secondary)!important;border-color:var(--elements-state-primary-borderColor-secondary)!important;color:var(--elements-state-primary-color-secondary)!important} diff --git a/.output/public/_nuxt/VoltaBoard.bc1497b6.js b/.output/public/_nuxt/VoltaBoard.bc1497b6.js new file mode 100644 index 0000000000..c2ac3709c4 --- /dev/null +++ b/.output/public/_nuxt/VoltaBoard.bc1497b6.js @@ -0,0 +1 @@ +import{d as r,I as s,b as n,c as a,J as c}from"./entry.19040e7f.js";const _=["src"],d=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,p)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,_))}});export{d as default}; diff --git a/.output/public/_nuxt/builds/latest.json b/.output/public/_nuxt/builds/latest.json new file mode 100644 index 0000000000..2391817960 --- /dev/null +++ b/.output/public/_nuxt/builds/latest.json @@ -0,0 +1 @@ +{"id":"5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66","timestamp":1698695070442} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66.json b/.output/public/_nuxt/builds/meta/5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66.json new file mode 100644 index 0000000000..7056c52beb --- /dev/null +++ b/.output/public/_nuxt/builds/meta/5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66.json @@ -0,0 +1 @@ +{"id":"5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66","timestamp":1698695070442,"matcher":{"static":{"/":null,"/api":null,"/api/search":{"prerender":true}},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/client-db.59c41193.js b/.output/public/_nuxt/client-db.59c41193.js new file mode 100644 index 0000000000..a2be18582d --- /dev/null +++ b/.output/public/_nuxt/client-db.59c41193.js @@ -0,0 +1 @@ +import{a5 as _,aA as B,aB as j,aC as E,aD as T,aE as W,aF as $,aG as P,aH as D,ab as b,a2 as H,l as M,aI as J,a6 as U,al as k,j as G}from"./entry.19040e7f.js";const q="memory",F=()=>{const r=new Map;return{name:q,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function Z(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function p(r,...t){try{return Z(r(...t))}catch(n){return Promise.reject(n)}}function V(r){const t=typeof r;return r===null||t!=="object"&&t!=="function"}function Q(r){const t=Object.getPrototypeOf(r);return!t||t.isPrototypeOf(Object)}function K(r){if(V(r))return String(r);if(Q(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return K(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function z(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const R="base64:";function X(r){if(typeof r=="string")return r;z();const t=Buffer.from(r).toString("base64");return R+t}function ee(r){return typeof r!="string"||!r.startsWith(R)?r:(z(),Buffer.from(r.slice(R.length),"base64"))}const te=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function re(r,t){if(t=A(t),!t)return r;const n={...r};for(const a of te)n[a]=(l="",...c)=>r[a](t+l,...c);return n.getKeys=(a="",...l)=>r.getKeys(t+a,...l).then(c=>c.map(o=>o.slice(t.length))),n}function d(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ne(...r){return d(r.join(":"))}function A(r){return r=d(r),r?r+":":""}const ie="memory",ae=()=>{const r=new Map;return{name:ie,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function se(r={}){const t={mounts:{"":r.driver||ae()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),l=(e,i)=>{if(t.watching){i=d(i);for(const s of t.watchListeners)s(e,i)}},c=async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await x(t.mounts[e],l,e)}},o=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},h=(e,i,s)=>{const u=new Map,f=m=>{let y=u.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},u.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...u.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return p(u.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(u=>({key:u.relativeKey,options:u.options})),i).then(u=>u.map(f=>({key:ne(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(u=>p(s.driver.getItem,u.relativeKey,u.options).then(f=>({key:u.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:u}=n(e);return u.getItemRaw?p(u.getItemRaw,s,i):p(u.getItem,s,i).then(f=>ee(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:u,driver:f}=n(e);f.setItem&&(await p(f.setItem,u,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{s.driver.setItems&&await p(s.driver.setItems,s.items.map(u=>({key:u.relativeKey,value:K(u.value),options:u.options})),i),s.driver.setItem&&await Promise.all(s.items.map(u=>p(s.driver.setItem,u.relativeKey,K(u.value),u.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:u,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,u,i,s);else if(f.setItem)await p(f.setItem,u,X(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:u}=n(e);u.removeItem&&(await p(u.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(u.removeItem,s+"$",i),u.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:u}=n(e),f=Object.create(null);if(u.getMeta&&Object.assign(f,await p(u.getMeta,s,i)),!i.nativeOnly){const m=await p(u.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let u=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!u.some(I=>w.startsWith(I)));f.push(...v),u=[m.mountpoint,...u.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const u=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(u.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>L(e)))},async watch(e){return await c(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(i=>i!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((s,u)=>u.length-s.length)),t.mounts[e]=i,t.watching&&Promise.resolve(x(i,l,e)).then(s=>{t.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await L(t.mounts[e]),t.mountpoints=t.mountpoints.filter(s=>s!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(u=>({driver:u.driver,base:u.mountpoint}))}};return g}function x(r,t,n){return r.watch?r.watch((a,l)=>t(a,n+l)):()=>{}}async function L(r){typeof r.dispose=="function"&&await p(r.dispose)}function oe(r={}){const t=ue(n,r.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?t.$eq(a,l):Object.keys(l||{}).every(c=>{const o=l[c];if(c.startsWith("$")&&t[c]){const h=t[c];return typeof h=="function"?h(a,o):!1}return n(B(a,c),o)})}return n}function ue(r,t={}){return{$match:(n,a)=>r(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!r(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>r(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>r(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?r(n,{$contains:l}):r(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...t||{}}}function ce(r){const t=oe(),n=(c,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=c.findIndex(u=>t(u,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((u,f)=>c[i-h+f+ +(f>=h)]||null)},a=[(c,o)=>{const h=c.result.filter(g=>E(o.where).every(e=>t(g,e)));return{...c,result:h,total:h.length}},(c,o)=>E(o.sort).forEach(h=>W(c.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(D(h.only))(i),o.surround=i}return o}],l=[(c,o)=>{if(o.skip)return{...c,result:c.result.slice(o.skip),skip:o.skip}},(c,o)=>{if(o.limit)return{...c,result:c.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const u=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(f=>f._path))==null?void 0:s._path);if(typeof u=="string"){const f=g.find(m=>m._path===b(u,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}}return o},(c,o)=>({...c,result:$(P(o.without))(c.result)}),(c,o)=>({...c,result:$(D(o.only))(c.result)})];return async c=>{const o=await r(),h=c.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,u)=>u(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,u)=>u(s,h,o)||s,e);return h.first?{...T(["skip","limit","total"])(i),result:i.result[0]}:i}}function N(r){const t=ce(r);return async n=>{var c;const a=n.params(),l=await t(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(c=l.dirConfig)==null?void 0:c._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fe={exports:{}};(function(r,t){(function(n,a,l){r.exports=l(),r.exports.default=l()})("slugify",le,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(c,o){if(typeof c!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=c.normalize().split("").reduce(function(s,u){var f=h[u];return f===void 0&&(f=n[u]),f===void 0&&(f=u),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(c){Object.assign(n,c)},l})})(fe);const me=r=>r.split(/[\s-]/g).map(H).join(" ");function he(r,t){const{navigation:n}=M().public.content,a=c=>({...pe(["title",...n.fields])(c),...de(c==null?void 0:c.navigation)?c.navigation:{}}),l=r.sort((c,o)=>c._path.localeCompare(o._path)).reduce((c,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=t[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return c;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(c.push(s),c):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=t[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},c).push(s),c)},[]);return Y(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(r){var n;const t=r.sort((a,l)=>ge.compare(a._file,l._file));for(const a of t)(n=a.children)!=null&&n.length?Y(a.children):delete a.children,delete a._file;return r}function pe(r){return t=>(t=t||{},r&&r.length?r.filter(n=>typeof t[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:t[a]}),{}):t)}function de(r){return Object.prototype.toString.call(r)==="[object Object]"}const ye=r=>k(r,M().public.content.api.baseURL),we=re(se({driver:F()}),"@content");function ve(r){async function t(){const n=new Set(await r.getKeys("cache:")),a=U().getPreviewToken();if(a){const c=await r.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(c.ignoreSources)){const g=c.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await r.getKeys(`${a}:`),h=await Promise.all(o.map(g=>r.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(c=>r.getItem(c)))}return{storage:r,fetch:N(t),query:n=>J(N(t),{initialParams:n,legacy:!0})}}let C=null,S=null;async function Ie(){return S?await S:C||(S=Ae(),C=await S),C}async function Ae(){const r=G(),{content:t}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(t.integrity!==+(a||0)){const{contents:l,navigation:c}=await $fetch(ye(t.integrity?`cache.${t.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",c),await n.storage.setItem("integrity",t.integrity)}return await r.callHook("content:storage",n.storage),n}async function Oe(r){const t=await Ie();if(!U().getPreviewToken()&&Object.keys(r||{}).length===0)return t.storage.getItem("navigation");const n=await t.query(r).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await t.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((c,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return c[h]={...o,...o.body},c},{});return he(n,l)}export{we as contentStorage,ve as createDB,Oe as generateNavigation,Ie as useContentDatabase}; diff --git a/.output/public/_nuxt/debug.ebdbc3d9.js b/.output/public/_nuxt/debug.ebdbc3d9.js new file mode 100644 index 0000000000..4d28f33106 --- /dev/null +++ b/.output/public/_nuxt/debug.ebdbc3d9.js @@ -0,0 +1,2 @@ +import{Q as a}from"./entry.19040e7f.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` +`)),i||(a(()=>{console.log("🖌️ Pinceau `runtime` encountered some errors!"),o.forEach(r=>{console.log(r)}),console.log("‼️ This warning will be hidden from production and can be disabled using `dev: false` option.")}),i=!0)};t.onNotFound=s}export{d as usePinceauRuntimeDebug}; diff --git a/.output/public/_nuxt/default.7ccbd342.js b/.output/public/_nuxt/default.7ccbd342.js new file mode 100644 index 0000000000..801602a030 --- /dev/null +++ b/.output/public/_nuxt/default.7ccbd342.js @@ -0,0 +1 @@ +import r from"./DocsPageLayout.6115c235.js";import{k as e,X as m,w as p,b as n,Z as i}from"./entry.19040e7f.js";import"./DocsAside.42681b3c.js";import"./ProseCodeInline.ce59fb31.js";import"./Alert.5d2c733c.js";import"./slot.51812f31.js";import"./node.676c5e99.js";import"./DocsPageBottom.0b5ac2bf.js";import"./ProseA.94134036.js";import"./EditOnLink.vue.c0346b4a.js";import"./DocsPrevNext.2f099473.js";import"./DocsToc.c4eb6326.js";import"./DocsTocLinks.d6043a0c.js";const a={};function c(t,s){const o=r;return n(),m(o,null,{default:p(()=>[i(t.$slots,"default")]),_:3})}const C=e(a,[["render",c]]);export{C as default}; diff --git a/.output/public/_nuxt/document-driven.a6ed99f5.js b/.output/public/_nuxt/document-driven.a6ed99f5.js new file mode 100644 index 0000000000..d61f3122f9 --- /dev/null +++ b/.output/public/_nuxt/document-driven.a6ed99f5.js @@ -0,0 +1 @@ +import h from"./DocumentDrivenEmpty.cecc2449.js";import L from"./ContentRenderer.3ec87499.js";import R from"./DocumentDrivenNotFound.2e5af98f.js";import{j as g,d as c,G as x,P as C,s as b,H as k,I as B,J as u,r as N,K as y,L as S,M as T,N as l,T as j,O as A,Q as w,S as D,R as E,U as H,l as O,V as $,W as q,b as d,c as I,g as f,w as _,X as v}from"./entry.19040e7f.js";import"./ContentRendererMarkdown.vue.41c2c305.js";import"./ButtonLink.23e0d758.js";import"./slot.51812f31.js";import"./node.676c5e99.js";const M=c({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(o,n){const e=await y[o.name]().then(t=>t.default||t);return()=>l(e,o.layoutProps,n.slots)}}),V=c({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(o,n){const e=g(),t=x(C),a=t===b()?k():t,s=B(()=>u(o.name)??a.meta.layout??"default"),r=N();n.expose({layoutRef:r});const m=e.deferHydration();return()=>{const p=s.value&&s.value in y,i=a.meta.layoutTransition??S;return T(j,p&&i,{default:()=>l(D,{suspensible:!0,onResolve:()=>{w(m)}},{default:()=>l(F,{layoutProps:A(n.attrs,{ref:r}),key:s.value,name:s.value,shouldProvide:!o.name,hasTransition:!!i},n.slots)})}).default()}}}),F=c({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(o,n){const e=o.name;return o.shouldProvide&&E(H,{isCurrent:t=>e===(t.meta.layout??"default")}),()=>{var t,a;return!e||typeof e=="string"&&!(e in y)?(a=(t=n.slots).default)==null?void 0:a.call(t):l(M,{key:e,layoutProps:o.layoutProps,name:e},n.slots)}}}),G={class:"document-driven-page"},Z=c({__name:"document-driven",setup(o){const{contentHead:n}=O().public.content,{page:e,layout:t}=$();return e.value,n&&q(e),(a,s)=>{const r=h,m=L,p=R,i=V;return d(),I("div",G,[f(i,{name:u(t)||"default"},{default:_(()=>[u(e)?(d(),v(m,{key:u(e)._id,value:u(e)},{empty:_(({value:P})=>[f(r,{value:P},null,8,["value"])]),_:1},8,["value"])):(d(),v(p,{key:1}))]),_:1},8,["name"])])}}});export{Z as default}; diff --git a/.output/public/_nuxt/entry.19040e7f.js b/.output/public/_nuxt/entry.19040e7f.js new file mode 100644 index 0000000000..174ca9d268 --- /dev/null +++ b/.output/public/_nuxt/entry.19040e7f.js @@ -0,0 +1,16 @@ +function Pi(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Te={},Rn=[],dt=()=>{},Wd=()=>!1,qd=/^on[^a-z]/,Or=e=>qd.test(e),xi=e=>e.startsWith("onUpdate:"),$e=Object.assign,Si=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qd=Object.prototype.hasOwnProperty,pe=(e,t)=>Qd.call(e,t),re=Array.isArray,In=e=>Lr(e)==="[object Map]",$l=e=>Lr(e)==="[object Set]",Jd=e=>Lr(e)==="[object RegExp]",oe=e=>typeof e=="function",xe=e=>typeof e=="string",Do=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",Ai=e=>(Ce(e)||oe(e))&&oe(e.then)&&oe(e.catch),Ml=Object.prototype.toString,Lr=e=>Ml.call(e),Zd=e=>Lr(e).slice(8,-1),Nl=e=>Lr(e)==="[object Object]",Ri=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,lr=Pi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ho=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Gd=/-(\w)/g,bt=Ho(e=>e.replace(Gd,(t,n)=>n?n.toUpperCase():"")),Yd=/\B([A-Z])/g,wn=Ho(e=>e.replace(Yd,"-$1").toLowerCase()),Fo=Ho(e=>e.charAt(0).toUpperCase()+e.slice(1)),is=Ho(e=>e?`on${Fo(e)}`:""),gn=(e,t)=>!Object.is(e,t),kn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Rs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Dl=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Pa;const Is=()=>Pa||(Pa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Un(e){if(re(e)){const t={};for(let n=0;n{if(n){const r=n.split(eh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ue(e){let t="";if(xe(e))t=e;else if(re(e))for(let n=0;nxe(e)?e:e==null?"":re(e)||Ce(e)&&(e.toString===Ml||!oe(e.toString))?JSON.stringify(e,Fl,2):String(e),Fl=(e,t)=>t&&t.__v_isRef?Fl(e,t.value):In(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:$l(t)?{[`Set(${t.size})`]:[...t.values()]}:Ce(t)&&!re(t)&&!Nl(t)?String(t):t;let Ye;class jl{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ye;try{return Ye=this,t()}finally{Ye=n}}}on(){Ye=this}off(){Ye=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Bl=e=>(e.w&Zt)>0,Vl=e=>(e.n&Zt)>0,ch=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||!Do(u)&&u>=c)&&a.push(l)})}else switch(n!==void 0&&a.push(i.get(n)),t){case"add":re(e)?Ri(n)&&a.push(i.get("length")):(a.push(i.get(pn)),In(e)&&a.push(i.get(Os)));break;case"delete":re(e)||(a.push(i.get(pn)),In(e)&&a.push(i.get(Os)));break;case"set":In(e)&&a.push(i.get(pn));break}if(a.length===1)a[0]&&Ls(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);Ls(Ii(c))}}function Ls(e,t){const n=re(e)?e:[...e];for(const r of n)r.computed&&Sa(r);for(const r of n)r.computed||Sa(r)}function Sa(e,t){(e!==ut||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function uh(e,t){var n;return(n=ho.get(e))==null?void 0:n.get(t)}const fh=Pi("__proto__,__v_isRef,__isVue"),Kl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Do)),Aa=dh();function dh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=me(this);for(let s=0,i=this.length;s{e[t]=function(...n){Wn();const r=me(this)[t].apply(this,n);return qn(),r}}),e}function hh(e){const t=me(this);return Qe(t,"has",e),t.hasOwnProperty(e)}class Wl{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const o=this._isReadonly,s=this._shallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw"&&r===(o?s?xh:Zl:s?Jl:Ql).get(t))return t;const i=re(t);if(!o){if(i&&pe(Aa,n))return Reflect.get(Aa,n,r);if(n==="hasOwnProperty")return hh}const a=Reflect.get(t,n,r);return(Do(n)?Kl.has(n):fh(n))||(o||Qe(t,"get",n),s)?a:Le(a)?i&&Ri(n)?a:a.value:Ce(a)?o?$i(a):tt(a):a}}class ql extends Wl{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(yn(s)&&Le(s)&&!Le(r))return!1;if(!this._shallow&&(!po(r)&&!yn(r)&&(s=me(s),r=me(r)),!re(t)&&Le(s)&&!Le(r)))return s.value=r,!0;const i=re(t)&&Ri(n)?Number(n)e,Bo=e=>Reflect.getPrototypeOf(e);function jr(e,t,n=!1,r=!1){e=e.__v_raw;const o=me(e),s=me(t);n||(gn(t,s)&&Qe(o,"get",t),Qe(o,"get",s));const{has:i}=Bo(o),a=r?Oi:n?Ni:br;if(i.call(o,t))return a(e.get(t));if(i.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function Br(e,t=!1){const n=this.__v_raw,r=me(n),o=me(e);return t||(gn(e,o)&&Qe(r,"has",e),Qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Vr(e,t=!1){return e=e.__v_raw,!t&&Qe(me(e),"iterate",pn),Reflect.get(e,"size",e)}function Ra(e){e=me(e);const t=me(this);return Bo(t).has.call(t,e)||(t.add(e),Rt(t,"add",e,e)),this}function Ia(e,t){t=me(t);const n=me(this),{has:r,get:o}=Bo(n);let s=r.call(n,e);s||(e=me(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?gn(t,i)&&Rt(n,"set",e,t):Rt(n,"add",e,t),this}function ka(e){const t=me(this),{has:n,get:r}=Bo(t);let o=n.call(t,e);o||(e=me(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&Rt(t,"delete",e,void 0),s}function Oa(){const e=me(this),t=e.size!==0,n=e.clear();return t&&Rt(e,"clear",void 0,void 0),n}function zr(e,t){return function(r,o){const s=this,i=s.__v_raw,a=me(i),c=t?Oi:e?Ni:br;return!e&&Qe(a,"iterate",pn),i.forEach((l,u)=>r.call(o,c(l),c(u),s))}}function Ur(e,t,n){return function(...r){const o=this.__v_raw,s=me(o),i=In(s),a=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,l=o[e](...r),u=n?Oi:t?Ni:br;return!t&&Qe(s,"iterate",c?Os:pn),{next(){const{value:f,done:d}=l.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function Nt(e){return function(...t){return e==="delete"?!1:this}}function _h(){const e={get(s){return jr(this,s)},get size(){return Vr(this)},has:Br,add:Ra,set:Ia,delete:ka,clear:Oa,forEach:zr(!1,!1)},t={get(s){return jr(this,s,!1,!0)},get size(){return Vr(this)},has:Br,add:Ra,set:Ia,delete:ka,clear:Oa,forEach:zr(!1,!0)},n={get(s){return jr(this,s,!0)},get size(){return Vr(this,!0)},has(s){return Br.call(this,s,!0)},add:Nt("add"),set:Nt("set"),delete:Nt("delete"),clear:Nt("clear"),forEach:zr(!0,!1)},r={get(s){return jr(this,s,!0,!0)},get size(){return Vr(this,!0)},has(s){return Br.call(this,s,!0)},add:Nt("add"),set:Nt("set"),delete:Nt("delete"),clear:Nt("clear"),forEach:zr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Ur(s,!1,!1),n[s]=Ur(s,!0,!1),t[s]=Ur(s,!1,!0),r[s]=Ur(s,!0,!0)}),[e,n,t,r]}const[vh,bh,wh,Eh]=_h();function Li(e,t){const n=t?e?Eh:wh:e?bh:vh;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(pe(n,o)&&o in r?n:r,o,s)}const Ch={get:Li(!1,!1)},Th={get:Li(!1,!0)},Ph={get:Li(!0,!1)},Ql=new WeakMap,Jl=new WeakMap,Zl=new WeakMap,xh=new WeakMap;function Sh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ah(e){return e.__v_skip||!Object.isExtensible(e)?0:Sh(Zd(e))}function tt(e){return yn(e)?e:Mi(e,!1,mh,Ch,Ql)}function Wt(e){return Mi(e,!1,yh,Th,Jl)}function $i(e){return Mi(e,!0,gh,Ph,Zl)}function Mi(e,t,n,r,o){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Ah(e);if(i===0)return e;const a=new Proxy(e,i===2?r:n);return o.set(e,a),a}function On(e){return yn(e)?On(e.__v_raw):!!(e&&e.__v_isReactive)}function yn(e){return!!(e&&e.__v_isReadonly)}function po(e){return!!(e&&e.__v_isShallow)}function Gl(e){return On(e)||yn(e)}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function Yl(e){return fo(e,"__v_skip",!0),e}const br=e=>Ce(e)?tt(e):e,Ni=e=>Ce(e)?$i(e):e;function Xl(e){Kt&&ut&&(e=me(e),Ul(e.dep||(e.dep=Ii())))}function eu(e,t){e=me(e);const n=e.dep;n&&Ls(n)}function Le(e){return!!(e&&e.__v_isRef===!0)}function le(e){return tu(e,!1)}function It(e){return tu(e,!0)}function tu(e,t){return Le(e)?e:new Rh(e,t)}class Rh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:me(t),this._value=n?t:br(t)}get value(){return Xl(this),this._value}set value(t){const n=this.__v_isShallow||po(t)||yn(t);t=n?t:me(t),gn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:br(t),eu(this))}}function M(e){return Le(e)?e.value:e}const Ih={get:(e,t,n)=>M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Le(o)&&!Le(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function nu(e){return On(e)?e:new Proxy(e,Ih)}function aP(e){const t=re(e)?new Array(e.length):{};for(const n in e)t[n]=ru(e,n);return t}class kh{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return uh(me(this._object),this._key)}}class Oh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Di(e,t,n){return Le(e)?e:oe(e)?new Oh(e):Ce(e)&&arguments.length>1?ru(e,t,n):le(e)}function ru(e,t,n){const r=e[t];return Le(r)?r:new kh(e,t,n)}class Lh{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ki(t,()=>{this._dirty||(this._dirty=!0,eu(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=me(this);return Xl(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function $h(e,t,n=!1){let r,o;const s=oe(e);return s?(r=e,o=dt):(r=e.get,o=e.set),new Lh(r,o,s||!o,n)}function qt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){Qn(s,t,n)}return o}function it(e,t,n,r){if(oe(e)){const s=qt(e,t,n,r);return s&&Ai(s)&&s.catch(i=>{Qn(i,t,n)}),s}const o=[];for(let s=0;s>>1,o=He[r],s=Er(o);s_t&&He.splice(t,1)}function Ms(e){re(e)?Ln.push(...e):(!St||!St.includes(e,e.allowRecurse?ln+1:ln))&&Ln.push(e),su()}function La(e,t=wr?_t+1:0){for(;tEr(n)-Er(r)),ln=0;lne.id==null?1/0:e.id,Hh=(e,t)=>{const n=Er(e)-Er(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function iu(e){$s=!1,wr=!0,He.sort(Hh);const t=dt;try{for(_t=0;_txe(h)?h.trim():h)),f&&(o=n.map(Rs))}let a,c=r[a=is(t)]||r[a=is(bt(t))];!c&&s&&(c=r[a=is(wn(t))]),c&&it(c,e,6,o);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,it(l,e,6,o)}}function au(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},a=!1;if(!oe(e)){const c=l=>{const u=au(l,t,!0);u&&(a=!0,$e(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!a?(Ce(e)&&r.set(e,null),null):(re(s)?s.forEach(c=>i[c]=null):$e(i,s),Ce(e)&&r.set(e,i),i)}function zo(e,t){return!e||!Or(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,wn(t))||pe(e,t))}let Ne=null,Uo=null;function go(e){const t=Ne;return Ne=e,Uo=e&&e.type.__scopeId||null,t}function cu(e){Uo=e}function lu(){Uo=null}function nt(e,t=Ne,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&qa(-1);const s=go(t);let i;try{i=e(...o)}finally{go(s),r._d&&qa(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function as(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:a,attrs:c,emit:l,render:u,renderCache:f,data:d,setupState:h,ctx:m,inheritAttrs:p}=e;let _,v;const b=go(e);try{if(n.shapeFlag&4){const g=o||r;_=ot(u.call(g,g,f,s,h,d,m)),v=c}else{const g=t;_=ot(g.length>1?g(s,{attrs:c,slots:a,emit:l}):g(s,null)),v=t.props?c:Bh(c)}}catch(g){dr.length=0,Qn(g,e,1),_=ae(Ke)}let y=_;if(v&&p!==!1){const g=Object.keys(v),{shapeFlag:P}=y;g.length&&P&7&&(i&&g.some(xi)&&(v=Vh(v,i)),y=Ot(y,v))}return n.dirs&&(y=Ot(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),_=y,go(b),_}function jh(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Or(n))&&((t||(t={}))[n]=e[n]);return t},Vh=(e,t)=>{const n={};for(const r in e)(!xi(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function zh(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:c}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?$a(r,i,l):!!i;if(c&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense,Uh={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,s,i,a,c,l){e==null?Kh(t,n,r,o,s,i,a,c,l):Wh(e,t,n,r,o,i,a,c,l)},hydrate:qh,create:ji,normalize:Qh},fu=Uh;function Cr(e,t){const n=e.props&&e.props[t];oe(n)&&n()}function Kh(e,t,n,r,o,s,i,a,c){const{p:l,o:{createElement:u}}=c,f=u("div"),d=e.suspense=ji(e,o,r,t,f,n,s,i,a,c);l(null,d.pendingBranch=e.ssContent,f,null,r,d,s,i),d.deps>0?(Cr(e,"onPending"),Cr(e,"onFallback"),l(null,e.ssFallback,t,n,r,null,s,i),$n(d,e.ssFallback)):d.resolve(!1,!0)}function Wh(e,t,n,r,o,s,i,a,{p:c,um:l,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:m,pendingBranch:p,isInFallback:_,isHydrating:v}=f;if(p)f.pendingBranch=d,ft(d,p)?(c(p,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():_&&(c(m,h,n,r,o,null,s,i,a),$n(f,h))):(f.pendingId++,v?(f.isHydrating=!1,f.activeBranch=p):l(p,o,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),_?(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():(c(m,h,n,r,o,null,s,i,a),$n(f,h))):m&&ft(d,m)?(c(m,d,n,r,o,f,s,i,a),f.resolve(!0)):(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0&&f.resolve()));else if(m&&ft(d,m))c(m,d,n,r,o,f,s,i,a),$n(f,d);else if(Cr(t,"onPending"),f.pendingBranch=d,f.pendingId++,c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0)f.resolve();else{const{timeout:b,pendingId:y}=f;b>0?setTimeout(()=>{f.pendingId===y&&f.fallback(h)},b):b===0&&f.fallback(h)}}function ji(e,t,n,r,o,s,i,a,c,l,u=!1){const{p:f,m:d,um:h,n:m,o:{parentNode:p,remove:_}}=l;let v;const b=Jh(e);b&&t!=null&&t.pendingBranch&&(v=t.pendingId,t.deps++);const y=e.props?Dl(e.props.timeout):void 0,g={vnode:e,parent:t,parentComponent:n,isSVG:i,container:r,hiddenContainer:o,anchor:s,deps:0,pendingId:0,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(P=!1,S=!1){const{vnode:A,activeBranch:I,pendingBranch:H,pendingId:R,effects:O,parentComponent:T,container:C}=g;let $=!1;if(g.isHydrating)g.isHydrating=!1;else if(!P){$=I&&H.transition&&H.transition.mode==="out-in",$&&(I.transition.afterLeave=()=>{R===g.pendingId&&(d(H,C,W,0),Ms(O))});let{anchor:W}=g;I&&(W=m(I),h(I,T,g,!0)),$||d(H,C,W,0)}$n(g,H),g.pendingBranch=null,g.isInFallback=!1;let J=g.parent,j=!1;for(;J;){if(J.pendingBranch){J.effects.push(...O),j=!0;break}J=J.parent}!j&&!$&&Ms(O),g.effects=[],b&&t&&t.pendingBranch&&v===t.pendingId&&(t.deps--,t.deps===0&&!S&&t.resolve()),Cr(A,"onResolve")},fallback(P){if(!g.pendingBranch)return;const{vnode:S,activeBranch:A,parentComponent:I,container:H,isSVG:R}=g;Cr(S,"onFallback");const O=m(A),T=()=>{g.isInFallback&&(f(null,P,H,O,I,null,R,a,c),$n(g,P))},C=P.transition&&P.transition.mode==="out-in";C&&(A.transition.afterLeave=T),g.isInFallback=!0,h(A,I,null,!0),C||T()},move(P,S,A){g.activeBranch&&d(g.activeBranch,P,S,A),g.container=P},next(){return g.activeBranch&&m(g.activeBranch)},registerDep(P,S){const A=!!g.pendingBranch;A&&g.deps++;const I=P.vnode.el;P.asyncDep.catch(H=>{Qn(H,P,0)}).then(H=>{if(P.isUnmounted||g.isUnmounted||g.pendingId!==P.suspenseId)return;P.asyncResolved=!0;const{vnode:R}=P;Vs(P,H,!1),I&&(R.el=I);const O=!I&&P.subTree.el;S(P,R,p(I||P.subTree.el),I?null:m(P.subTree),g,i,c),O&&_(O),Fi(P,R.el),A&&--g.deps===0&&g.resolve()})},unmount(P,S){g.isUnmounted=!0,g.activeBranch&&h(g.activeBranch,n,P,S),g.pendingBranch&&h(g.pendingBranch,n,P,S)}};return g}function qh(e,t,n,r,o,s,i,a,c){const l=t.suspense=ji(t,r,n,e.parentNode,document.createElement("div"),null,o,s,i,a,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,s,i);return l.deps===0&&l.resolve(!1,!0),u}function Qh(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ma(r?n.default:n),e.ssFallback=r?Ma(n.fallback):ae(Ke)}function Ma(e){let t;if(oe(e)){const n=Fn&&e._c;n&&(e._d=!1,Q()),e=e(),n&&(e._d=!0,t=st,ju())}return re(e)&&(e=jh(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function du(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):Ms(e)}function $n(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,Fi(r,o))}function Jh(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function Zh(e,t){return Ko(e,null,t)}function Gh(e,t){return Ko(e,null,{flush:"post"})}const Kr={};function ve(e,t,n){return Ko(e,t,n)}function Ko(e,t,{immediate:n,deep:r,flush:o,onTrack:s,onTrigger:i}=Te){var a;const c=jo()===((a=Oe)==null?void 0:a.scope)?Oe:null;let l,u=!1,f=!1;if(Le(e)?(l=()=>e.value,u=po(e)):On(e)?(l=()=>e,r=!0):re(e)?(f=!0,u=e.some(g=>On(g)||po(g)),l=()=>e.map(g=>{if(Le(g))return g.value;if(On(g))return hn(g);if(oe(g))return qt(g,c,2)})):oe(e)?t?l=()=>qt(e,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),it(e,c,3,[h])}:l=dt,t&&r){const g=l;l=()=>hn(g())}let d,h=g=>{d=b.onStop=()=>{qt(g,c,4)}},m;if(Bn)if(h=dt,t?n&&it(t,c,3,[l(),f?[]:void 0,h]):l(),o==="sync"){const g=Vp();m=g.__watcherHandles||(g.__watcherHandles=[])}else return dt;let p=f?new Array(e.length).fill(Kr):Kr;const _=()=>{if(b.active)if(t){const g=b.run();(r||u||(f?g.some((P,S)=>gn(P,p[S])):gn(g,p)))&&(d&&d(),it(t,c,3,[g,p===Kr?void 0:f&&p[0]===Kr?[]:p,h]),p=g)}else b.run()};_.allowRecurse=!!t;let v;o==="sync"?v=_:o==="post"?v=()=>De(_,c&&c.suspense):(_.pre=!0,c&&(_.id=c.uid),v=()=>Vo(_));const b=new ki(l,v);t?n?_():p=b.run():o==="post"?De(b.run.bind(b),c&&c.suspense):b.run();const y=()=>{b.stop(),c&&c.scope&&Si(c.scope.effects,b)};return m&&m.push(y),y}function Yh(e,t,n){const r=this.proxy,o=xe(e)?e.includes(".")?hu(r,e):()=>r[e]:e.bind(r,r);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Oe;Gt(this);const a=Ko(o,s.bind(r),n);return i?Gt(i):Qt(),a}function hu(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{hn(n,t)});else if(Nl(e))for(const n in e)hn(e[n],t);return e}function pu(e,t){const n=Ne;if(n===null)return e;const r=Jo(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Jn(()=>{e.isUnmounting=!0}),e}const rt=[Function,Array],mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:rt,onEnter:rt,onAfterEnter:rt,onEnterCancelled:rt,onBeforeLeave:rt,onLeave:rt,onAfterLeave:rt,onLeaveCancelled:rt,onBeforeAppear:rt,onAppear:rt,onAfterAppear:rt,onAppearCancelled:rt},ep={name:"BaseTransition",props:mu,setup(e,{slots:t}){const n=pt(),r=Xh();let o;return()=>{const s=t.default&&yu(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const p of s)if(p.type!==Ke){i=p;break}}const a=me(e),{mode:c}=a;if(r.isLeaving)return cs(i);const l=Na(i);if(!l)return cs(i);const u=Ns(l,a,r,n);yo(l,u);const f=n.subTree,d=f&&Na(f);let h=!1;const{getTransitionKey:m}=l.type;if(m){const p=m();o===void 0?o=p:p!==o&&(o=p,h=!0)}if(d&&d.type!==Ke&&(!ft(l,d)||h)){const p=Ns(d,a,r,n);if(yo(d,p),c==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},cs(i);c==="in-out"&&l.type!==Ke&&(p.delayLeave=(_,v,b)=>{const y=gu(r,d);y[String(d.key)]=d,_[Bt]=()=>{v(),_[Bt]=void 0,delete u.delayedLeave},u.delayedLeave=b})}return i}}},tp=ep;function gu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ns(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:p,onAppear:_,onAfterAppear:v,onAppearCancelled:b}=t,y=String(e.key),g=gu(n,e),P=(I,H)=>{I&&it(I,r,9,H)},S=(I,H)=>{const R=H[1];P(I,H),re(I)?I.every(O=>O.length<=1)&&R():I.length<=1&&R()},A={mode:s,persisted:i,beforeEnter(I){let H=a;if(!n.isMounted)if(o)H=p||a;else return;I[Bt]&&I[Bt](!0);const R=g[y];R&&ft(e,R)&&R.el[Bt]&&R.el[Bt](),P(H,[I])},enter(I){let H=c,R=l,O=u;if(!n.isMounted)if(o)H=_||c,R=v||l,O=b||u;else return;let T=!1;const C=I[Wr]=$=>{T||(T=!0,$?P(O,[I]):P(R,[I]),A.delayedLeave&&A.delayedLeave(),I[Wr]=void 0)};H?S(H,[I,C]):C()},leave(I,H){const R=String(e.key);if(I[Wr]&&I[Wr](!0),n.isUnmounting)return H();P(f,[I]);let O=!1;const T=I[Bt]=C=>{O||(O=!0,H(),C?P(m,[I]):P(h,[I]),I[Bt]=void 0,g[R]===e&&delete g[R])};g[R]=e,d?S(d,[I,T]):T()},clone(I){return Ns(I,t,n,r)}};return A}function cs(e){if($r(e))return e=Ot(e),e.children=null,e}function Na(e){return $r(e)?e.children?e.children[0]:void 0:e}function yo(e,t){e.shapeFlag&6&&e.component?yo(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yu(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s$e({name:e.name},t,{setup:e}))():e}const mn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function B(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:a}=e;let c=null,l,u=0;const f=()=>(u++,c=null,d()),d=()=>{let h;return c||(h=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((p,_)=>{a(m,()=>p(f()),()=>_(m),u+1)});throw m}).then(m=>h!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),l=m,m)))};return Re({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return l},setup(){const h=Oe;if(l)return()=>ls(l,h);const m=b=>{c=null,Qn(b,h,13,!r)};if(i&&h.suspense||Bn)return d().then(b=>()=>ls(b,h)).catch(b=>(m(b),()=>r?ae(r,{error:b}):null));const p=le(!1),_=le(),v=le(!!o);return o&&setTimeout(()=>{v.value=!1},o),s!=null&&setTimeout(()=>{if(!p.value&&!_.value){const b=new Error(`Async component timed out after ${s}ms.`);m(b),_.value=b}},s),d().then(()=>{p.value=!0,h.parent&&$r(h.parent.vnode)&&Vo(h.parent.update)}).catch(b=>{m(b),_.value=b}),()=>{if(p.value&&l)return ls(l,h);if(_.value&&r)return ae(r,{error:_.value});if(n&&!v.value)return ae(n)}}})}function ls(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=ae(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const $r=e=>e.type.__isKeepAlive,np={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=pt(),r=n.ctx;if(!r.renderer)return()=>{const b=t.default&&t.default();return b&&b.length===1?b[0]:b};const o=new Map,s=new Set;let i=null;const a=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:f}}}=r,d=f("div");r.activate=(b,y,g,P,S)=>{const A=b.component;l(b,y,g,0,a),c(A.vnode,b,y,g,A,a,P,b.slotScopeIds,S),De(()=>{A.isDeactivated=!1,A.a&&kn(A.a);const I=b.props&&b.props.onVnodeMounted;I&&qe(I,A.parent,b)},a)},r.deactivate=b=>{const y=b.component;l(b,d,null,1,a),De(()=>{y.da&&kn(y.da);const g=b.props&&b.props.onVnodeUnmounted;g&&qe(g,y.parent,b),y.isDeactivated=!0},a)};function h(b){us(b),u(b,n,a,!0)}function m(b){o.forEach((y,g)=>{const P=zs(y.type);P&&(!b||!b(P))&&p(g)})}function p(b){const y=o.get(b);!i||!ft(y,i)?h(y):i&&us(i),o.delete(b),s.delete(b)}ve(()=>[e.include,e.exclude],([b,y])=>{b&&m(g=>or(b,g)),y&&m(g=>!or(y,g))},{flush:"post",deep:!0});let _=null;const v=()=>{_!=null&&o.set(_,fs(n.subTree))};return Xt(v),Eu(v),Jn(()=>{o.forEach(b=>{const{subTree:y,suspense:g}=n,P=fs(y);if(b.type===P.type&&b.key===P.key){us(P);const S=P.component.da;S&&De(S,g);return}h(b)})}),()=>{if(_=null,!t.default)return null;const b=t.default(),y=b[0];if(b.length>1)return i=null,b;if(!jn(y)||!(y.shapeFlag&4)&&!(y.shapeFlag&128))return i=null,y;let g=fs(y);const P=g.type,S=zs(mn(g)?g.type.__asyncResolved||{}:P),{include:A,exclude:I,max:H}=e;if(A&&(!S||!or(A,S))||I&&S&&or(I,S))return i=g,y;const R=g.key==null?P:g.key,O=o.get(R);return g.el&&(g=Ot(g),y.shapeFlag&128&&(y.ssContent=g)),_=R,O?(g.el=O.el,g.component=O.component,g.transition&&yo(g,g.transition),g.shapeFlag|=512,s.delete(R),s.add(R)):(s.add(R),H&&s.size>parseInt(H,10)&&p(s.values().next().value)),g.shapeFlag|=256,i=g,uu(y.type)?y:g}}},rp=np;function or(e,t){return re(e)?e.some(n=>or(n,t)):xe(e)?e.split(",").includes(t):Jd(e)?e.test(t):!1}function _u(e,t){bu(e,"a",t)}function vu(e,t){bu(e,"da",t)}function bu(e,t,n=Oe){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Wo(t,r,n),n){let o=n.parent;for(;o&&o.parent;)$r(o.parent.vnode)&&op(r,t,n,o),o=o.parent}}function op(e,t,n,r){const o=Wo(t,e,r,!0);Tr(()=>{Si(r[t],o)},n)}function us(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function fs(e){return e.shapeFlag&128?e.ssContent:e}function Wo(e,t,n=Oe,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Wn(),Gt(n);const a=it(t,n,e,i);return Qt(),qn(),a});return r?o.unshift(s):o.push(s),s}}const $t=e=>(t,n=Oe)=>(!Bn||e==="sp")&&Wo(e,(...r)=>t(...r),n),wu=$t("bm"),Xt=$t("m"),sp=$t("bu"),Eu=$t("u"),Jn=$t("bum"),Tr=$t("um"),ip=$t("sp"),ap=$t("rtg"),cp=$t("rtc");function Cu(e,t=Oe){Wo("ec",e,t)}const Bi="components";function lp(e,t){return Pu(Bi,e,!0,t)||e}const Tu=Symbol.for("v-ndc");function qo(e){return xe(e)?Pu(Bi,e,!1)||e:e||Tu}function Pu(e,t,n=!0,r=!1){const o=Ne||Oe;if(o){const s=o.type;if(e===Bi){const a=zs(s,!1);if(a&&(a===t||a===bt(t)||a===Fo(bt(t))))return s}const i=Da(o[e]||s[e],t)||Da(o.appContext[e],t);return!i&&r?s:i}}function Da(e,t){return e&&(e[t]||e[bt(t)]||e[Fo(bt(t))])}function Dn(e,t,n,r){let o;const s=n&&n[r];if(re(e)||xe(e)){o=new Array(e.length);for(let i=0,a=e.length;it(i,a,void 0,s&&s[a]));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,c=i.length;ajn(t)?!(t.type===Ke||t.type===Pe&&!xu(t.children)):!0)?e:null}const Ds=e=>e?Uu(e)?Jo(e)||e.proxy:Ds(e.parent):null,ur=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ds(e.parent),$root:e=>Ds(e.root),$emit:e=>e.emit,$options:e=>zi(e),$forceUpdate:e=>e.f||(e.f=()=>Vo(e.update)),$nextTick:e=>e.n||(e.n=wt.bind(e.proxy)),$watch:e=>Yh.bind(e)}),ds=(e,t)=>e!==Te&&!e.__isScriptSetup&&pe(e,t),up={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(ds(r,t))return i[t]=1,r[t];if(o!==Te&&pe(o,t))return i[t]=2,o[t];if((l=e.propsOptions[0])&&pe(l,t))return i[t]=3,s[t];if(n!==Te&&pe(n,t))return i[t]=4,n[t];Hs&&(i[t]=0)}}const u=ur[t];let f,d;if(u)return t==="$attrs"&&Qe(e,"get",t),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Te&&pe(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,pe(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return ds(o,t)?(o[t]=n,!0):r!==Te&&pe(r,t)?(r[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let a;return!!n[i]||e!==Te&&pe(e,i)||ds(t,i)||(a=s[0])&&pe(a,i)||pe(r,i)||pe(ur,i)||pe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cP(){return fp().slots}function fp(){const e=pt();return e.setupContext||(e.setupContext=Wu(e))}function Ha(e){return re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Su(e){const t=pt();let n=e();return Qt(),Ai(n)&&(n=n.catch(r=>{throw Gt(t),r})),[n,()=>Gt(t)]}let Hs=!0;function dp(e){const t=zi(e),n=e.proxy,r=e.ctx;Hs=!1,t.beforeCreate&&Fa(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:m,activated:p,deactivated:_,beforeDestroy:v,beforeUnmount:b,destroyed:y,unmounted:g,render:P,renderTracked:S,renderTriggered:A,errorCaptured:I,serverPrefetch:H,expose:R,inheritAttrs:O,components:T,directives:C,filters:$}=t;if(l&&hp(l,r,null),i)for(const W in i){const U=i[W];oe(U)&&(r[W]=U.bind(n))}if(o){const W=o.call(n,n);Ce(W)&&(e.data=tt(W))}if(Hs=!0,s)for(const W in s){const U=s[W],he=oe(U)?U.bind(n,n):oe(U.get)?U.get.bind(n,n):dt,be=!oe(U)&&oe(U.set)?U.set.bind(n):dt,Ae=ee({get:he,set:be});Object.defineProperty(r,W,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:Se=>Ae.value=Se})}if(a)for(const W in a)Au(a[W],r,n,W);if(c){const W=oe(c)?c.call(n):c;Reflect.ownKeys(W).forEach(U=>{Mn(U,W[U])})}u&&Fa(u,e,"c");function j(W,U){re(U)?U.forEach(he=>W(he.bind(n))):U&&W(U.bind(n))}if(j(wu,f),j(Xt,d),j(sp,h),j(Eu,m),j(_u,p),j(vu,_),j(Cu,I),j(cp,S),j(ap,A),j(Jn,b),j(Tr,g),j(ip,H),re(R))if(R.length){const W=e.exposed||(e.exposed={});R.forEach(U=>{Object.defineProperty(W,U,{get:()=>n[U],set:he=>n[U]=he})})}else e.exposed||(e.exposed={});P&&e.render===dt&&(e.render=P),O!=null&&(e.inheritAttrs=O),T&&(e.components=T),C&&(e.directives=C)}function hp(e,t,n=dt){re(e)&&(e=Fs(e));for(const r in e){const o=e[r];let s;Ce(o)?"default"in o?s=Fe(o.from||r,o.default,!0):s=Fe(o.from||r):s=Fe(o),Le(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Fa(e,t,n){it(re(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Au(e,t,n,r){const o=r.includes(".")?hu(n,r):()=>n[r];if(xe(e)){const s=t[e];oe(s)&&ve(o,s)}else if(oe(e))ve(o,e.bind(n));else if(Ce(e))if(re(e))e.forEach(s=>Au(s,t,n,r));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&ve(o,s,e)}}function zi(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,a=s.get(t);let c;return a?c=a:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(l=>_o(c,l,i,!0)),_o(c,t,i)),Ce(t)&&s.set(t,c),c}function _o(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&_o(e,s,n,!0),o&&o.forEach(i=>_o(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=pp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const pp={data:ja,props:Ba,emits:Ba,methods:sr,computed:sr,beforeCreate:ze,created:ze,beforeMount:ze,mounted:ze,beforeUpdate:ze,updated:ze,beforeDestroy:ze,beforeUnmount:ze,destroyed:ze,unmounted:ze,activated:ze,deactivated:ze,errorCaptured:ze,serverPrefetch:ze,components:sr,directives:sr,watch:gp,provide:ja,inject:mp};function ja(e,t){return t?e?function(){return $e(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function mp(e,t){return sr(Fs(e),Fs(t))}function Fs(e){if(re(e)){const t={};for(let n=0;n1)return n&&oe(t)?t.call(r&&r.proxy):t}}function Iu(){return!!(Oe||Ne||Pr)}function vp(e,t,n,r=!1){const o={},s={};fo(s,Qo,1),e.propsDefaults=Object.create(null),ku(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Wt(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function bp(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,a=me(o),[c]=e.propsOptions;let l=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[d,h]=Ou(f,t,!0);$e(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!c)return Ce(e)&&r.set(e,Rn),Rn;if(re(s))for(let u=0;u-1,h[1]=p<0||m-1||pe(h,"default"))&&a.push(f)}}}const l=[i,a];return Ce(e)&&r.set(e,l),l}function Va(e){return e[0]!=="$"}function za(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ua(e,t){return za(e)===za(t)}function Ka(e,t){return re(t)?t.findIndex(n=>Ua(n,e)):oe(t)&&Ua(t,e)?0:-1}const Lu=e=>e[0]==="_"||e==="$stable",Ui=e=>re(e)?e.map(ot):[ot(e)],wp=(e,t,n)=>{if(t._n)return t;const r=nt((...o)=>Ui(t(...o)),n);return r._c=!1,r},$u=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Lu(o))continue;const s=e[o];if(oe(s))t[o]=wp(o,s,r);else if(s!=null){const i=Ui(s);t[o]=()=>i}}},Mu=(e,t)=>{const n=Ui(t);e.slots.default=()=>n},Ep=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=me(t),fo(t,"_",n)):$u(t,e.slots={})}else e.slots={},t&&Mu(e,t);fo(e.slots,Qo,1)},Cp=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Te;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:($e(o,t),!n&&a===1&&delete o._):(s=!t.$stable,$u(t,o)),i=t}else t&&(Mu(e,t),i={default:1});if(s)for(const a in o)!Lu(a)&&i[a]==null&&delete o[a]};function vo(e,t,n,r,o=!1){if(re(e)){e.forEach((d,h)=>vo(d,t&&(re(t)?t[h]:t),n,r,o));return}if(mn(r)&&!o)return;const s=r.shapeFlag&4?Jo(r.component)||r.component.proxy:r.el,i=o?null:s,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Te?a.refs={}:a.refs,f=a.setupState;if(l!=null&&l!==c&&(xe(l)?(u[l]=null,pe(f,l)&&(f[l]=null)):Le(l)&&(l.value=null)),oe(c))qt(c,a,12,[i,u]);else{const d=xe(c),h=Le(c);if(d||h){const m=()=>{if(e.f){const p=d?pe(f,c)?f[c]:u[c]:c.value;o?re(p)&&Si(p,s):re(p)?p.includes(s)||p.push(s):d?(u[c]=[s],pe(f,c)&&(f[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else d?(u[c]=i,pe(f,c)&&(f[c]=i)):h&&(c.value=i,e.k&&(u[e.k]=i))};i?(m.id=-1,De(m,n)):m()}}}let Dt=!1;const qr=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Qr=e=>e.nodeType===8;function Tp(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:a,insert:c,createComment:l}}=e,u=(y,g)=>{if(!g.hasChildNodes()){n(null,y,g),mo(),g._vnode=y;return}Dt=!1,f(g.firstChild,y,null,null,null),mo(),g._vnode=y,Dt&&console.error("Hydration completed but contains mismatches.")},f=(y,g,P,S,A,I=!1)=>{const H=Qr(y)&&y.data==="[",R=()=>p(y,g,P,S,A,H),{type:O,ref:T,shapeFlag:C,patchFlag:$}=g;let J=y.nodeType;g.el=y,$===-2&&(I=!1,g.dynamicChildren=null);let j=null;switch(O){case Hn:J!==3?g.children===""?(c(g.el=o(""),i(y),y),j=y):j=R():(y.data!==g.children&&(Dt=!0,y.data=g.children),j=s(y));break;case Ke:if(J!==8||H)if(y.tagName.toLowerCase()==="template"){const W=g.el.content.firstChild;v(W,y,P),g.el=y=W,j=s(y)}else j=R();else j=s(y);break;case Nn:if(H&&(y=s(y),J=y.nodeType),J===1||J===3){j=y;const W=!g.children.length;for(let U=0;U{I=I||!!g.dynamicChildren;const{type:H,props:R,patchFlag:O,shapeFlag:T,dirs:C,transition:$}=g,J=H==="input"&&C||H==="option";if(J||O!==-1){if(C&&yt(g,null,P,"created"),R)if(J||!I||O&48)for(const U in R)(J&&U.endsWith("value")||Or(U)&&!lr(U))&&r(y,U,null,R[U],!1,void 0,P);else R.onClick&&r(y,"onClick",null,R.onClick,!1,void 0,P);let j;(j=R&&R.onVnodeBeforeMount)&&qe(j,P,g);let W=!1;if(b(y)){W=Du(S,$)&&P&&P.vnode.props&&P.vnode.props.appear;const U=y.content.firstChild;W&&$.beforeEnter(U),v(U,y,P),g.el=y=U}if(C&&yt(g,null,P,"beforeMount"),((j=R&&R.onVnodeMounted)||C||W)&&du(()=>{j&&qe(j,P,g),W&&$.enter(y),C&&yt(g,null,P,"mounted")},S),T&16&&!(R&&(R.innerHTML||R.textContent))){let U=h(y.firstChild,g,y,P,S,A,I);for(;U;){Dt=!0;const he=U;U=U.nextSibling,a(he)}}else T&8&&y.textContent!==g.children&&(Dt=!0,y.textContent=g.children)}return y.nextSibling},h=(y,g,P,S,A,I,H)=>{H=H||!!g.dynamicChildren;const R=g.children,O=R.length;for(let T=0;T{const{slotScopeIds:H}=g;H&&(A=A?A.concat(H):H);const R=i(y),O=h(s(y),g,R,P,S,A,I);return O&&Qr(O)&&O.data==="]"?s(g.anchor=O):(Dt=!0,c(g.anchor=l("]"),R,O),O)},p=(y,g,P,S,A,I)=>{if(Dt=!0,g.el=null,I){const O=_(y);for(;;){const T=s(y);if(T&&T!==O)a(T);else break}}const H=s(y),R=i(y);return a(y),n(null,g,R,H,P,S,qr(R),A),H},_=(y,g="[",P="]")=>{let S=0;for(;y;)if(y=s(y),y&&Qr(y)&&(y.data===g&&S++,y.data===P)){if(S===0)return s(y);S--}return y},v=(y,g,P)=>{const S=g.parentNode;S&&S.replaceChild(y,g);let A=P;for(;A;)A.vnode.el===g&&(A.vnode.el=y,A.subTree.el=y),A=A.parent},b=y=>y.nodeType===1&&y.tagName.toLowerCase()==="template";return[u,f]}const De=du;function Pp(e){return Nu(e)}function xp(e){return Nu(e,Tp)}function Nu(e,t){const n=Is();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=dt,insertStaticContent:m}=e,p=(w,E,x,k=null,N=null,F=null,Z=!1,z=null,K=!!E.dynamicChildren)=>{if(w===E)return;w&&!ft(w,E)&&(k=L(w),Se(w,N,F,!0),w=null),E.patchFlag===-2&&(K=!1,E.dynamicChildren=null);const{type:V,ref:te,shapeFlag:Y}=E;switch(V){case Hn:_(w,E,x,k);break;case Ke:v(w,E,x,k);break;case Nn:w==null&&b(E,x,k,Z);break;case Pe:T(w,E,x,k,N,F,Z,z,K);break;default:Y&1?P(w,E,x,k,N,F,Z,z,K):Y&6?C(w,E,x,k,N,F,Z,z,K):(Y&64||Y&128)&&V.process(w,E,x,k,N,F,Z,z,K,q)}te!=null&&N&&vo(te,w&&w.ref,F,E||w,!E)},_=(w,E,x,k)=>{if(w==null)r(E.el=a(E.children),x,k);else{const N=E.el=w.el;E.children!==w.children&&l(N,E.children)}},v=(w,E,x,k)=>{w==null?r(E.el=c(E.children||""),x,k):E.el=w.el},b=(w,E,x,k)=>{[w.el,w.anchor]=m(w.children,E,x,k,w.el,w.anchor)},y=({el:w,anchor:E},x,k)=>{let N;for(;w&&w!==E;)N=d(w),r(w,x,k),w=N;r(E,x,k)},g=({el:w,anchor:E})=>{let x;for(;w&&w!==E;)x=d(w),o(w),w=x;o(E)},P=(w,E,x,k,N,F,Z,z,K)=>{Z=Z||E.type==="svg",w==null?S(E,x,k,N,F,Z,z,K):H(w,E,N,F,Z,z,K)},S=(w,E,x,k,N,F,Z,z)=>{let K,V;const{type:te,props:Y,shapeFlag:ne,transition:ce,dirs:fe}=w;if(K=w.el=i(w.type,F,Y&&Y.is,Y),ne&8?u(K,w.children):ne&16&&I(w.children,K,null,k,N,F&&te!=="foreignObject",Z,z),fe&&yt(w,null,k,"created"),A(K,w,w.scopeId,Z,k),Y){for(const we in Y)we!=="value"&&!lr(we)&&s(K,we,null,Y[we],F,w.children,k,N,Ie);"value"in Y&&s(K,"value",null,Y.value),(V=Y.onVnodeBeforeMount)&&qe(V,k,w)}fe&&yt(w,null,k,"beforeMount");const Ee=Du(N,ce);Ee&&ce.beforeEnter(K),r(K,E,x),((V=Y&&Y.onVnodeMounted)||Ee||fe)&&De(()=>{V&&qe(V,k,w),Ee&&ce.enter(K),fe&&yt(w,null,k,"mounted")},N)},A=(w,E,x,k,N)=>{if(x&&h(w,x),k)for(let F=0;F{for(let V=K;V{const z=E.el=w.el;let{patchFlag:K,dynamicChildren:V,dirs:te}=E;K|=w.patchFlag&16;const Y=w.props||Te,ne=E.props||Te;let ce;x&&rn(x,!1),(ce=ne.onVnodeBeforeUpdate)&&qe(ce,x,E,w),te&&yt(E,w,x,"beforeUpdate"),x&&rn(x,!0);const fe=N&&E.type!=="foreignObject";if(V?R(w.dynamicChildren,V,z,x,k,fe,F):Z||U(w,E,z,null,x,k,fe,F,!1),K>0){if(K&16)O(z,E,Y,ne,x,k,N);else if(K&2&&Y.class!==ne.class&&s(z,"class",null,ne.class,N),K&4&&s(z,"style",Y.style,ne.style,N),K&8){const Ee=E.dynamicProps;for(let we=0;we{ce&&qe(ce,x,E,w),te&&yt(E,w,x,"updated")},k)},R=(w,E,x,k,N,F,Z)=>{for(let z=0;z{if(x!==k){if(x!==Te)for(const z in x)!lr(z)&&!(z in k)&&s(w,z,x[z],null,Z,E.children,N,F,Ie);for(const z in k){if(lr(z))continue;const K=k[z],V=x[z];K!==V&&z!=="value"&&s(w,z,V,K,Z,E.children,N,F,Ie)}"value"in k&&s(w,"value",x.value,k.value)}},T=(w,E,x,k,N,F,Z,z,K)=>{const V=E.el=w?w.el:a(""),te=E.anchor=w?w.anchor:a("");let{patchFlag:Y,dynamicChildren:ne,slotScopeIds:ce}=E;ce&&(z=z?z.concat(ce):ce),w==null?(r(V,x,k),r(te,x,k),I(E.children,x,te,N,F,Z,z,K)):Y>0&&Y&64&&ne&&w.dynamicChildren?(R(w.dynamicChildren,ne,x,N,F,Z,z),(E.key!=null||N&&E===N.subTree)&&Ki(w,E,!0)):U(w,E,x,te,N,F,Z,z,K)},C=(w,E,x,k,N,F,Z,z,K)=>{E.slotScopeIds=z,w==null?E.shapeFlag&512?N.ctx.activate(E,x,k,Z,K):$(E,x,k,N,F,Z,K):J(w,E,K)},$=(w,E,x,k,N,F,Z)=>{const z=w.component=Np(w,k,N);if($r(w)&&(z.ctx.renderer=q),Dp(z),z.asyncDep){if(N&&N.registerDep(z,j),!w.el){const K=z.subTree=ae(Ke);v(null,K,E,x)}return}j(z,w,E,x,N,F,Z)},J=(w,E,x)=>{const k=E.component=w.component;if(zh(w,E,x))if(k.asyncDep&&!k.asyncResolved){W(k,E,x);return}else k.next=E,Dh(k.update),k.update();else E.el=w.el,k.vnode=E},j=(w,E,x,k,N,F,Z)=>{const z=()=>{if(w.isMounted){let{next:te,bu:Y,u:ne,parent:ce,vnode:fe}=w,Ee=te,we;rn(w,!1),te?(te.el=fe.el,W(w,te,Z)):te=fe,Y&&kn(Y),(we=te.props&&te.props.onVnodeBeforeUpdate)&&qe(we,ce,te,fe),rn(w,!0);const ke=as(w),lt=w.subTree;w.subTree=ke,p(lt,ke,f(lt.el),L(lt),w,N,F),te.el=ke.el,Ee===null&&Fi(w,ke.el),ne&&De(ne,N),(we=te.props&&te.props.onVnodeUpdated)&&De(()=>qe(we,ce,te,fe),N)}else{let te;const{el:Y,props:ne}=E,{bm:ce,m:fe,parent:Ee}=w,we=mn(E);if(rn(w,!1),ce&&kn(ce),!we&&(te=ne&&ne.onVnodeBeforeMount)&&qe(te,Ee,E),rn(w,!0),Y&&ye){const ke=()=>{w.subTree=as(w),ye(Y,w.subTree,w,N,null)};we?E.type.__asyncLoader().then(()=>!w.isUnmounted&&ke()):ke()}else{const ke=w.subTree=as(w);p(null,ke,x,k,w,N,F),E.el=ke.el}if(fe&&De(fe,N),!we&&(te=ne&&ne.onVnodeMounted)){const ke=E;De(()=>qe(te,Ee,ke),N)}(E.shapeFlag&256||Ee&&mn(Ee.vnode)&&Ee.vnode.shapeFlag&256)&&w.a&&De(w.a,N),w.isMounted=!0,E=x=k=null}},K=w.effect=new ki(z,()=>Vo(V),w.scope),V=w.update=()=>K.run();V.id=w.uid,rn(w,!0),V()},W=(w,E,x)=>{E.component=w;const k=w.vnode.props;w.vnode=E,w.next=null,bp(w,E.props,k,x),Cp(w,E.children,x),Wn(),La(),qn()},U=(w,E,x,k,N,F,Z,z,K=!1)=>{const V=w&&w.children,te=w?w.shapeFlag:0,Y=E.children,{patchFlag:ne,shapeFlag:ce}=E;if(ne>0){if(ne&128){be(V,Y,x,k,N,F,Z,z,K);return}else if(ne&256){he(V,Y,x,k,N,F,Z,z,K);return}}ce&8?(te&16&&Ie(V,N,F),Y!==V&&u(x,Y)):te&16?ce&16?be(V,Y,x,k,N,F,Z,z,K):Ie(V,N,F,!0):(te&8&&u(x,""),ce&16&&I(Y,x,k,N,F,Z,z,K))},he=(w,E,x,k,N,F,Z,z,K)=>{w=w||Rn,E=E||Rn;const V=w.length,te=E.length,Y=Math.min(V,te);let ne;for(ne=0;nete?Ie(w,N,F,!0,!1,Y):I(E,x,k,N,F,Z,z,K,Y)},be=(w,E,x,k,N,F,Z,z,K)=>{let V=0;const te=E.length;let Y=w.length-1,ne=te-1;for(;V<=Y&&V<=ne;){const ce=w[V],fe=E[V]=K?Vt(E[V]):ot(E[V]);if(ft(ce,fe))p(ce,fe,x,null,N,F,Z,z,K);else break;V++}for(;V<=Y&&V<=ne;){const ce=w[Y],fe=E[ne]=K?Vt(E[ne]):ot(E[ne]);if(ft(ce,fe))p(ce,fe,x,null,N,F,Z,z,K);else break;Y--,ne--}if(V>Y){if(V<=ne){const ce=ne+1,fe=cene)for(;V<=Y;)Se(w[V],N,F,!0),V++;else{const ce=V,fe=V,Ee=new Map;for(V=fe;V<=ne;V++){const Ge=E[V]=K?Vt(E[V]):ot(E[V]);Ge.key!=null&&Ee.set(Ge.key,V)}let we,ke=0;const lt=ne-fe+1;let En=!1,Ea=0;const Gn=new Array(lt);for(V=0;V=lt){Se(Ge,N,F,!0);continue}let mt;if(Ge.key!=null)mt=Ee.get(Ge.key);else for(we=fe;we<=ne;we++)if(Gn[we-fe]===0&&ft(Ge,E[we])){mt=we;break}mt===void 0?Se(Ge,N,F,!0):(Gn[mt-fe]=V+1,mt>=Ea?Ea=mt:En=!0,p(Ge,E[mt],x,null,N,F,Z,z,K),ke++)}const Ca=En?Sp(Gn):Rn;for(we=Ca.length-1,V=lt-1;V>=0;V--){const Ge=fe+V,mt=E[Ge],Ta=Ge+1{const{el:F,type:Z,transition:z,children:K,shapeFlag:V}=w;if(V&6){Ae(w.component.subTree,E,x,k);return}if(V&128){w.suspense.move(E,x,k);return}if(V&64){Z.move(w,E,x,q);return}if(Z===Pe){r(F,E,x);for(let Y=0;Yz.enter(F),N);else{const{leave:Y,delayLeave:ne,afterLeave:ce}=z,fe=()=>r(F,E,x),Ee=()=>{Y(F,()=>{fe(),ce&&ce()})};ne?ne(F,fe,Ee):Ee()}else r(F,E,x)},Se=(w,E,x,k=!1,N=!1)=>{const{type:F,props:Z,ref:z,children:K,dynamicChildren:V,shapeFlag:te,patchFlag:Y,dirs:ne}=w;if(z!=null&&vo(z,null,x,w,!0),te&256){E.ctx.deactivate(w);return}const ce=te&1&&ne,fe=!mn(w);let Ee;if(fe&&(Ee=Z&&Z.onVnodeBeforeUnmount)&&qe(Ee,E,w),te&6)Et(w.component,x,k);else{if(te&128){w.suspense.unmount(x,k);return}ce&&yt(w,null,E,"beforeUnmount"),te&64?w.type.remove(w,E,x,N,q,k):V&&(F!==Pe||Y>0&&Y&64)?Ie(V,E,x,!1,!0):(F===Pe&&Y&384||!N&&te&16)&&Ie(K,E,x),k&&Me(w)}(fe&&(Ee=Z&&Z.onVnodeUnmounted)||ce)&&De(()=>{Ee&&qe(Ee,E,w),ce&&yt(w,null,E,"unmounted")},x)},Me=w=>{const{type:E,el:x,anchor:k,transition:N}=w;if(E===Pe){Ve(x,k);return}if(E===Nn){g(w);return}const F=()=>{o(x),N&&!N.persisted&&N.afterLeave&&N.afterLeave()};if(w.shapeFlag&1&&N&&!N.persisted){const{leave:Z,delayLeave:z}=N,K=()=>Z(x,F);z?z(w.el,F,K):K()}else F()},Ve=(w,E)=>{let x;for(;w!==E;)x=d(w),o(w),w=x;o(E)},Et=(w,E,x)=>{const{bum:k,scope:N,update:F,subTree:Z,um:z}=w;k&&kn(k),N.stop(),F&&(F.active=!1,Se(Z,w,E,x)),z&&De(z,E),De(()=>{w.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},Ie=(w,E,x,k=!1,N=!1,F=0)=>{for(let Z=F;Zw.shapeFlag&6?L(w.component.subTree):w.shapeFlag&128?w.suspense.next():d(w.anchor||w.el),G=(w,E,x)=>{w==null?E._vnode&&Se(E._vnode,null,null,!0):p(E._vnode||null,w,E,null,null,null,x),La(),mo(),E._vnode=w},q={p,um:Se,m:Ae,r:Me,mt:$,mc:I,pc:U,pbc:R,n:L,o:e};let X,ye;return t&&([X,ye]=t(q)),{render:G,hydrate:X,createApp:_p(G,X)}}function rn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Du(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ki(e,t,n=!1){const r=e.children,o=t.children;if(re(r)&&re(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Ap=e=>e.__isTeleport,fr=e=>e&&(e.disabled||e.disabled===""),Wa=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bs=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},Rp={__isTeleport:!0,process(e,t,n,r,o,s,i,a,c,l){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:m,createText:p,createComment:_}}=l,v=fr(t.props);let{shapeFlag:b,children:y,dynamicChildren:g}=t;if(e==null){const P=t.el=p(""),S=t.anchor=p("");h(P,n,r),h(S,n,r);const A=t.target=Bs(t.props,m),I=t.targetAnchor=p("");A&&(h(I,A),i=i||Wa(A));const H=(R,O)=>{b&16&&u(y,R,O,o,s,i,a,c)};v?H(n,S):A&&H(A,I)}else{t.el=e.el;const P=t.anchor=e.anchor,S=t.target=e.target,A=t.targetAnchor=e.targetAnchor,I=fr(e.props),H=I?n:S,R=I?P:A;if(i=i||Wa(S),g?(d(e.dynamicChildren,g,H,o,s,i,a),Ki(e,t,!0)):c||f(e,t,H,R,o,s,i,a,!1),v)I?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Jr(t,n,P,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const O=t.target=Bs(t.props,m);O&&Jr(t,O,null,l,0)}else I&&Jr(t,S,A,l,1)}Fu(t)},remove(e,t,n,r,{um:o,o:{remove:s}},i){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:f,props:d}=e;if(f&&s(u),i&&s(l),a&16){const h=i||!fr(d);for(let m=0;m0?st||Rn:null,ju(),Fn>0&&st&&st.push(e),e}function ue(e,t,n,r,o,s){return Bu(se(e,t,n,r,o,s,!0))}function de(e,t,n,r,o){return Bu(ae(e,t,n,r,o,!0))}function jn(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const Qo="__vInternal",Vu=({key:e})=>e??null,no=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Le(e)||oe(e)?{i:Ne,r:e,k:t,f:!!n}:e:null);function se(e,t=null,n=null,r=0,o=null,s=e===Pe?0:1,i=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vu(t),ref:t&&no(t),scopeId:Uo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ne};return a?(Wi(c,n),s&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),Fn>0&&!i&&st&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&st.push(c),c}const ae=kp;function kp(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Tu)&&(e=Ke),jn(e)){const a=Ot(e,t,!0);return n&&Wi(a,n),Fn>0&&!s&&st&&(a.shapeFlag&6?st[st.indexOf(e)]=a:st.push(a)),a.patchFlag|=-2,a}if(jp(e)&&(e=e.__vccOpts),t){t=zu(t);let{class:a,style:c}=t;a&&!xe(a)&&(t.class=Ue(a)),Ce(c)&&(Gl(c)&&!re(c)&&(c=$e({},c)),t.style=Un(c))}const i=xe(e)?1:uu(e)?128:Ap(e)?64:Ce(e)?4:oe(e)?2:0;return se(e,t,n,r,o,i,s,!0)}function zu(e){return e?Gl(e)||Qo in e?$e({},e):e:null}function Ot(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,a=t?Lp(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Vu(a),ref:t&&t.ref?n&&o?re(o)?o.concat(no(t)):[o,no(t)]:no(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ot(e.ssContent),ssFallback:e.ssFallback&&Ot(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Mr(e=" ",t=0){return ae(Hn,null,e,t)}function Op(e,t){const n=ae(Nn,null,e);return n.staticCount=t,n}function je(e="",t=!1){return t?(Q(),de(Ke,null,e)):ae(Ke,null,e)}function ot(e){return e==null||typeof e=="boolean"?ae(Ke):re(e)?ae(Pe,null,e.slice()):typeof e=="object"?Vt(e):ae(Hn,null,String(e))}function Vt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ot(e)}function Wi(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(re(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Wi(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(Qo in t)?t._ctx=Ne:o===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:Ne},n=32):(t=String(t),r&64?(n=16,t=[Mr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Lp(...e){const t={};for(let n=0;nOe||Ne;let qi,Cn,Qa="__VUE_INSTANCE_SETTERS__";(Cn=Is()[Qa])||(Cn=Is()[Qa]=[]),Cn.push(e=>Oe=e),qi=e=>{Cn.length>1?Cn.forEach(t=>t(e)):Cn[0](e)};const Gt=e=>{qi(e),e.scope.on()},Qt=()=>{Oe&&Oe.scope.off(),qi(null)};function Uu(e){return e.vnode.shapeFlag&4}let Bn=!1;function Dp(e,t=!1){Bn=t;const{props:n,children:r}=e.vnode,o=Uu(e);vp(e,n,o,t),Ep(e,r);const s=o?Hp(e,t):void 0;return Bn=!1,s}function Hp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Yl(new Proxy(e.ctx,up));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Wu(e):null;Gt(e),Wn();const s=qt(r,e,0,[e.props,o]);if(qn(),Qt(),Ai(s)){if(s.then(Qt,Qt),t)return s.then(i=>{Vs(e,i,t)}).catch(i=>{Qn(i,e,0)});e.asyncDep=s}else Vs(e,s,t)}else Ku(e,t)}function Vs(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=nu(t)),Ku(e,n)}let Ja;function Ku(e,t,n){const r=e.type;if(!e.render){if(!t&&Ja&&!r.render){const o=r.template||zi(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=$e($e({isCustomElement:s,delimiters:a},i),c);r.render=Ja(o,l)}}e.render=r.render||dt}{Gt(e),Wn();try{dp(e)}finally{qn(),Qt()}}}function Fp(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Qe(e,"get","$attrs"),t[n]}}))}function Wu(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Fp(e)},slots:e.slots,emit:e.emit,expose:t}}function Jo(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(nu(Yl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ur)return ur[n](e)},has(t,n){return n in t||n in ur}}))}function zs(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function jp(e){return oe(e)&&"__vccOpts"in e}const ee=(e,t)=>$h(e,t,Bn);function et(e,t,n){const r=arguments.length;return r===2?Ce(t)&&!re(t)?jn(t)?ae(e,null,[t]):ae(e,t):ae(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&jn(n)&&(n=[n]),ae(e,t,n))}const Bp=Symbol.for("v-scx"),Vp=()=>Fe(Bp),qu="3.3.7",zp="http://www.w3.org/2000/svg",un=typeof document<"u"?document:null,Za=un&&un.createElement("template"),Up={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?un.createElementNS(zp,e):un.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>un.createTextNode(e),createComment:e=>un.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>un.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Za.innerHTML=r?`${e}`:e;const a=Za.content;if(r){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ht="transition",Yn="animation",xr=Symbol("_vtc"),Qi=(e,{slots:t})=>et(tp,Kp(e),t);Qi.displayName="Transition";const Qu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Qi.props=$e({},mu,Qu);const on=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ga=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function Kp(e){const t={};for(const T in e)T in Qu||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:l=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=Wp(o),p=m&&m[0],_=m&&m[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:y,onLeave:g,onLeaveCancelled:P,onBeforeAppear:S=v,onAppear:A=b,onAppearCancelled:I=y}=t,H=(T,C,$)=>{sn(T,C?u:a),sn(T,C?l:i),$&&$()},R=(T,C)=>{T._isLeaving=!1,sn(T,f),sn(T,h),sn(T,d),C&&C()},O=T=>(C,$)=>{const J=T?A:b,j=()=>H(C,T,$);on(J,[C,j]),Ya(()=>{sn(C,T?c:s),Ft(C,T?u:a),Ga(J)||Xa(C,r,p,j)})};return $e(t,{onBeforeEnter(T){on(v,[T]),Ft(T,s),Ft(T,i)},onBeforeAppear(T){on(S,[T]),Ft(T,c),Ft(T,l)},onEnter:O(!1),onAppear:O(!0),onLeave(T,C){T._isLeaving=!0;const $=()=>R(T,C);Ft(T,f),Jp(),Ft(T,d),Ya(()=>{T._isLeaving&&(sn(T,f),Ft(T,h),Ga(g)||Xa(T,r,_,$))}),on(g,[T,$])},onEnterCancelled(T){H(T,!1),on(y,[T])},onAppearCancelled(T){H(T,!0),on(I,[T])},onLeaveCancelled(T){R(T),on(P,[T])}})}function Wp(e){if(e==null)return null;if(Ce(e))return[hs(e.enter),hs(e.leave)];{const t=hs(e);return[t,t]}}function hs(e){return Dl(e)}function Ft(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[xr]||(e[xr]=new Set)).add(t)}function sn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[xr];n&&(n.delete(t),n.size||(e[xr]=void 0))}function Ya(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let qp=0;function Xa(e,t,n,r){const o=e._endId=++qp,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:a,propCount:c}=Qp(e,t);if(!i)return r();const l=i+"end";let u=0;const f=()=>{e.removeEventListener(l,d),s()},d=h=>{h.target===e&&++u>=c&&f()};setTimeout(()=>{u(n[m]||"").split(", "),o=r(`${Ht}Delay`),s=r(`${Ht}Duration`),i=ec(o,s),a=r(`${Yn}Delay`),c=r(`${Yn}Duration`),l=ec(a,c);let u=null,f=0,d=0;t===Ht?i>0&&(u=Ht,f=i,d=s.length):t===Yn?l>0&&(u=Yn,f=l,d=c.length):(f=Math.max(i,l),u=f>0?i>l?Ht:Yn:null,d=u?u===Ht?s.length:c.length:0);const h=u===Ht&&/\b(transform|all)(,|$)/.test(r(`${Ht}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function ec(e,t){for(;e.lengthtc(n)+tc(e[r])))}function tc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Jp(){return document.body.offsetHeight}function Zp(e,t,n){const r=e[xr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ji=Symbol("_vod"),Gp={beforeMount(e,{value:t},{transition:n}){e[Ji]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Xn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Xn(e,!0),r.enter(e)):r.leave(e,()=>{Xn(e,!1)}):Xn(e,t))},beforeUnmount(e,{value:t}){Xn(e,t)}};function Xn(e,t){e.style.display=t?e[Ji]:"none"}function Yp(e,t,n){const r=e.style,o=xe(n);if(n&&!o){if(t&&!xe(t))for(const s in t)n[s]==null&&Us(r,s,"");for(const s in n)Us(r,s,n[s])}else{const s=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),Ji in e&&(r.display=s)}}const nc=/\s*!important$/;function Us(e,t,n){if(re(n))n.forEach(r=>Us(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Xp(e,t);nc.test(n)?e.setProperty(wn(r),n.replace(nc,""),"important"):e[r]=n}}const rc=["Webkit","Moz","ms"],ps={};function Xp(e,t){const n=ps[t];if(n)return n;let r=bt(t);if(r!=="filter"&&r in e)return ps[t]=r;r=Fo(r);for(let o=0;oms||(sm.then(()=>ms=0),ms=Date.now());function am(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;it(cm(r,n.value),t,5,[r])};return n.value=e,n.attached=im(),n}function cm(e,t){if(re(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const ac=/^on[a-z]/,lm=(e,t,n,r,o=!1,s,i,a,c)=>{t==="class"?Zp(e,r,o):t==="style"?Yp(e,n,r):Or(t)?xi(t)||rm(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):um(e,t,r,o))?tm(e,t,r,s,i,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),em(e,t,r,o))};function um(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&ac.test(t)&&oe(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ac.test(t)&&xe(n)?!1:t in e}function lP(e){const t=pt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>Ws(s,o))},r=()=>{const o=e(t.proxy);Ks(t.subTree,o),n(o)};Gh(r),Xt(()=>{const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),Tr(()=>o.disconnect())})}function Ks(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Ks(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ws(e.el,t);else if(e.type===Pe)e.children.forEach(n=>Ks(n,t));else if(e.type===Nn){let{el:n,anchor:r}=e;for(;n&&(Ws(n,t),n!==r);)n=n.nextSibling}}function Ws(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const cc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return re(t)?n=>kn(t,n):t};function fm(e){e.target.composing=!0}function lc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const gs=Symbol("_assign"),dm={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[gs]=cc(o);const s=r||o.props&&o.props.type==="number";Pn(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=Rs(a)),e[gs](a)}),n&&Pn(e,"change",()=>{e.value=e.value.trim()}),t||(Pn(e,"compositionstart",fm),Pn(e,"compositionend",lc),Pn(e,"change",lc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[gs]=cc(s),e.composing||document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===t||(o||e.type==="number")&&Rs(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},hm=["ctrl","shift","alt","meta"],pm={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>hm.some(n=>e[`${n}Key`]&&!t.includes(n))},ir=(e,t)=>(n,...r)=>{for(let o=0;on=>{if(!("key"in n))return;const r=wn(n.key);if(t.some(o=>o===r||mm[o]===r))return e(n)},Ju=$e({patchProp:lm},Up);let hr,uc=!1;function gm(){return hr||(hr=Pp(Ju))}function ym(){return hr=uc?hr:xp(Ju),uc=!0,hr}const _m=(...e)=>{const t=gm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zu(r);if(!o)return;const s=t._component;!oe(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},vm=(...e)=>{const t=ym().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zu(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function Zu(e){return xe(e)?document.querySelector(e):e}const bm=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,wm=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Em=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Cm(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Tm(e);return}return t}function Tm(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Sr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.at(-1)==='"'&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const r=n.toLowerCase();if(r==="true")return!0;if(r==="false")return!1;if(r==="undefined")return;if(r==="null")return null;if(r==="nan")return Number.NaN;if(r==="infinity")return Number.POSITIVE_INFINITY;if(r==="-infinity")return Number.NEGATIVE_INFINITY}if(!Em.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(bm.test(e)||wm.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Cm)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const Pm=/#/g,xm=/&/g,Sm=/=/g,Zi=/\+/g,Am=/%5e/gi,Rm=/%60/gi,Im=/%7c/gi,km=/%20/gi;function Om(e){return encodeURI(""+e).replace(Im,"|")}function qs(e){return Om(typeof e=="string"?e:JSON.stringify(e)).replace(Zi,"%2B").replace(km,"+").replace(Pm,"%23").replace(xm,"%26").replace(Rm,"`").replace(Am,"^")}function _s(e){return qs(e).replace(Sm,"%3D")}function bo(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Lm(e){return bo(e.replace(Zi," "))}function $m(e){return bo(e.replace(Zi," "))}function Gu(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const o=Lm(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=$m(r[2]||"");t[o]===void 0?t[o]=s:Array.isArray(t[o])?t[o].push(s):t[o]=[t[o],s]}return t}function Mm(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${_s(e)}=${qs(n)}`).join("&"):`${_s(e)}=${qs(t)}`:_s(e)}function Nm(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Mm(t,e[t])).filter(Boolean).join("&")}const Dm=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Hm=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,Fm=/^([/\\]\s*){2,}[^/\\]/;function Yt(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?Dm.test(e):Hm.test(e)||(t.acceptRelative?Fm.test(e):!1)}const jm=/^[\s\0]*(blob|data|javascript|vbscript):$/i;function Bm(e){return!!e&&jm.test(e)}const Vm=/\/$|\/\?/;function Qs(e="",t=!1){return t?Vm.test(e):e.endsWith("/")}function _n(e="",t=!1){if(!t)return(Qs(e)?e.slice(0,-1):e)||"/";if(!Qs(e,!0))return e||"/";const[n,...r]=e.split("?");return(n.slice(0,-1)||"/")+(r.length>0?`?${r.join("?")}`:"")}function wo(e="",t=!1){if(!t)return e.endsWith("/")?e:e+"/";if(Qs(e,!0))return e||"/";const[n,...r]=e.split("?");return n+"/"+(r.length>0?`?${r.join("?")}`:"")}function zm(e=""){return e.startsWith("/")}function Js(e=""){return zm(e)?e:"/"+e}function Yu(e,t){if(ef(t)||Yt(e))return e;const n=_n(t);return e.startsWith(n)?e:en(n,e)}function fc(e,t){if(ef(t))return e;const n=_n(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function Xu(e,t){const n=Nr(e),r={...Gu(n.search),...t};return n.search=Nm(r),qm(n)}function ef(e){return!e||e==="/"}function Um(e){return e&&e!=="/"}const Km=/^\.?\//;function en(e,...t){let n=e||"";for(const r of t.filter(o=>Um(o)))if(n){const o=r.replace(Km,"");n=wo(n)+o}else n=r;return n}function Wm(e,t,n={}){return n.trailingSlash||(e=wo(e),t=wo(t)),n.leadingSlash||(e=Js(e),t=Js(t)),n.encoding||(e=bo(e),t=bo(t)),e===t}function Nr(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/);if(n){const[,f,d=""]=n;return{protocol:f,pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!Yt(e,{acceptRelative:!0}))return t?Nr(t+e):dc(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,i="",a=""]=s.match(/([^#/?]*)(.*)?/)||[],{pathname:c,search:l,hash:u}=dc(a.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:r,auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:c,search:l,hash:u}}function dc(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function qm(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",o=e.auth?e.auth+"@":"",s=e.host||"";return(e.protocol?e.protocol+"//":"")+o+s+t+n+r}class Qm extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function Jm(e){var c,l,u,f,d;const t=((c=e.error)==null?void 0:c.message)||((l=e.error)==null?void 0:l.toString())||"",n=((u=e.request)==null?void 0:u.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,a=new Qm(i,e.error?{cause:e.error}:void 0);for(const h of["request","options","response"])Object.defineProperty(a,h,{get(){return e[h]}});for(const[h,m]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,h,{get(){return e.response&&e.response[m]}});return a}const Zm=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function hc(e="GET"){return Zm.has(e.toUpperCase())}function Gm(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Ym=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Xm=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function eg(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Xm.test(t)?"json":Ym.has(t)||t.startsWith("text/")?"text":"blob"}function tg(e,t,n=globalThis.Headers){const r={...t,...e};if(t!=null&&t.params&&(e!=null&&e.params)&&(r.params={...t==null?void 0:t.params,...e==null?void 0:e.params}),t!=null&&t.query&&(e!=null&&e.query)&&(r.query={...t==null?void 0:t.query,...e==null?void 0:e.query}),t!=null&&t.headers&&(e!=null&&e.headers)){r.headers=new n((t==null?void 0:t.headers)||{});for(const[o,s]of new n((e==null?void 0:e.headers)||{}))r.headers.set(o,s)}return r}const ng=new Set([408,409,425,429,500,502,503,504]),rg=new Set([101,204,205,304]);function tf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(a){const c=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!c){let u;typeof a.options.retry=="number"?u=a.options.retry:u=hc(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):ng.has(f))){const d=a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),s(a.request,{...a.options,retry:u-1,timeout:a.options.timeout})}}const l=Jm(a);throw Error.captureStackTrace&&Error.captureStackTrace(l,s),l}const s=async function(c,l={}){var d;const u={request:c,options:tg(l,e.defaults,n),response:void 0,error:void 0};if(u.options.method=(d=u.options.method)==null?void 0:d.toUpperCase(),u.options.onRequest&&await u.options.onRequest(u),typeof u.request=="string"&&(u.options.baseURL&&(u.request=Yu(u.request,u.options.baseURL)),(u.options.query||u.options.params)&&(u.request=Xu(u.request,{...u.options.params,...u.options.query}))),u.options.body&&hc(u.options.method)&&(Gm(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new n(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half"))),!u.options.signal&&u.options.timeout){const h=new r;setTimeout(()=>h.abort(),u.options.timeout),u.options.signal=h.signal}try{u.response=await t(u.request,u.options)}catch(h){return u.error=h,u.options.onRequestError&&await u.options.onRequestError(u),await o(u)}if(u.response.body&&!rg.has(u.response.status)&&u.options.method!=="HEAD"){const h=(u.options.parseResponse?"json":u.options.responseType)||eg(u.response.headers.get("content-type")||"");switch(h){case"json":{const m=await u.response.text(),p=u.options.parseResponse||Sr;u.response._data=p(m);break}case"stream":{u.response._data=u.response.body;break}default:u.response._data=await u.response[h]()}}return u.options.onResponse&&await u.options.onResponse(u),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await u.options.onResponseError(u),await o(u)):u.response},i=async function(c,l){return(await s(c,l))._data};return i.raw=s,i.native=(...a)=>t(...a),i.create=(a={})=>tf({...e,defaults:{...e.defaults,...a}}),i}const Gi=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),og=Gi.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),sg=Gi.Headers,ig=Gi.AbortController,ag=tf({fetch:og,Headers:sg,AbortController:ig}),cg=ag,lg=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Eo=lg().app,ug=()=>Eo.baseURL,fg=()=>Eo.buildAssetsDir,dg=(...e)=>en(nf(),fg(),...e),nf=(...e)=>{const t=Eo.cdnURL||Eo.baseURL;return e.length?en(t,...e):t};globalThis.__buildAssetsURL=dg,globalThis.__publicAssetsURL=nf;function Zs(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?Zs(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const hg={run:e=>e()},pg=()=>hg,rf=typeof console.createTask<"u"?console.createTask:pg;function mg(e,t){const n=t.shift(),r=rf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function gg(e,t){const n=t.shift(),r=rf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function vs(e,t){for(const n of[...e])n(t)}class yg{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Zs(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=Zs(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(mg,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(gg,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&vs(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&vs(this._after,o)}):(this._after&&o&&vs(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function of(){return new yg}function _g(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return o?o.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const c=()=>{t=i},l=()=>t===i?c:void 0;Gs.add(l);try{const u=o?o.run(i,a):a();return n||(t=void 0),await u}finally{Gs.delete(l)}}}}function vg(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=_g({...e,...r})),t[n],t[n]}}}const Co=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},pc="__unctx__",bg=Co[pc]||(Co[pc]=vg()),wg=(e,t={})=>bg.get(e,t),mc="__unctx_async_handlers__",Gs=Co[mc]||(Co[mc]=new Set);function Ar(e){const t=[];for(const o of Gs){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const sf=wg("nuxt-app",{asyncContext:!1}),Eg="__nuxt_plugin";function Cg(e){let t=0;const n={_scope:ih(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.8.0"},get vue(){return n.vueApp.version}},payload:tt({data:{},state:{},_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>af(n,o)),isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let o=!1;return()=>{if(!o&&(o=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:{},_payloadRevivers:{},...e};n.hooks=of(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;Zr(n,i,s),Zr(n.vueApp.config.globalProperties,i,s)},Zr(n.vueApp,"$nuxt",n),Zr(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ge;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=tt(n.payload.config);return n.provide("config",r),n}async function Tg(e,t){if(t.hooks&&e.hooks.addHooks(t.hooks),typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Pg(e,t){const n=[],r=[];for(const o of t){const s=Tg(e,o);o.parallel?n.push(s.catch(i=>r.push(i))):await s}if(await Promise.all(n),r.length)throw r[0]}/*! @__NO_SIDE_EFFECTS__ */function Ze(e){return typeof e=="function"?e:(delete e.name,Object.assign(e.setup||(()=>{}),e,{[Eg]:!0}))}function af(e,t,n){const r=()=>n?t(...n):t();return sf.set(e),e.vueApp.runWithContext(r)}/*! @__NO_SIDE_EFFECTS__ */function ge(){var t;let e;if(Iu()&&(e=(t=pt())==null?void 0:t.appContext.app.$nuxt),e=e||sf.tryUse(),!e)throw new Error("[nuxt] instance unavailable");return e}/*! @__NO_SIDE_EFFECTS__ */function Je(){return ge().$config}function Zr(e,t,n){Object.defineProperty(e,t,{get:()=>n})}const xg="modulepreload",Sg=function(e,t){return e[0]==="."?new URL(e,t).href:e},gc={},Ag=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=Sg(s,r),s in gc)return;gc[s]=!0;const i=s.endsWith(".css"),a=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const f=o[u];if(f.href===s&&(!i||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const l=document.createElement("link");if(l.rel=i?"stylesheet":xg,i||(l.as="script",l.crossOrigin=""),l.href=s,document.head.appendChild(l),i)return new Promise((u,f)=>{l.addEventListener("load",u),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},D=(...e)=>Ag(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Rg=-1,Ig=-2,kg=-3,Og=-4,Lg=-5,$g=-6;function Mg(e,t){return Ng(JSON.parse(e),t)}function Ng(e,t){if(typeof e=="number")return o(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function o(s,i=!1){if(s===Rg)return;if(s===kg)return NaN;if(s===Og)return 1/0;if(s===Lg)return-1/0;if(s===$g)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const a=n[s];if(!a||typeof a!="object")r[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const c=a[0],l=t==null?void 0:t[c];if(l)return r[s]=l(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const u=new Set;r[s]=u;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function yc(e){return e._h||Yi(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function lf(e,t){const{props:n,tag:r}=e;if(jg.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return t&&!t(i)?!1:`${r}:${s}:${i}`}return!1}function _c(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function Vg(e,t,n){const r={tag:e,props:await uf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return cf.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent"].includes(o)||Hg.includes(r.tag))&&(r[o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.props.children&&(r.innerHTML=r.props.children,delete r.props.children),r.tag==="script"&&(typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),r.innerHTML&&["application/ld+json","application/json"].includes(r.props.type)&&(r.innerHTML=r.innerHTML.replace(/({...r,props:{...r.props,content:o}})):r}function zg(e){return typeof e=="object"&&!Array.isArray(e)&&(e=Object.keys(e).filter(t=>e[t])),(Array.isArray(e)?e.join(" "):e).split(" ").filter(t=>t.trim()).filter(Boolean).join(" ")}async function uf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=zg(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!cf.includes(n)){const r=String(e[n]),o=n.startsWith("data-");r==="true"||r===""?e[n]=o?"true":!0:e[n]||(o&&r==="false"?e[n]="false":delete e[n])}}return e}const Ug=10;async function Kg(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&Fg.includes(n)).forEach(([n,r])=>{const o=Dg(r);t.push(...o.map(s=>Vg(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<c&&c[l]||void 0,t):a=t[i],typeof a<"u"?(a||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const a=r(i.slice(1));typeof a=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(c,l)=>`${a}${l}`).trim())}),e.includes(jt)&&(e.endsWith(jt)&&(e=e.slice(0,-jt.length).trim()),e.startsWith(jt)&&(e=e.slice(jt.length).trim()),e=e.replace(new RegExp(`\\${jt}\\s*\\${jt}`,"g"),jt),e=oo(e,{separator:n},n)),e}async function qg(e){const t={tag:e.tagName.toLowerCase(),props:await uf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=lf(t),t}async function df(e,t={}){var u;const n=t.document||e.resolvedOptions.document;if(!n)return;const r={shouldRender:e.dirty,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:ro.includes(f.tag)?yc(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(u=n==null?void 0:n[f])==null?void 0:u.children;for(const h of[...d].filter(m=>ro.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||yc(await qg(h))]=h}}s.pendingSideEffects={...s.sideEffects||{}},s.sideEffects={};function i(f,d,h){const m=`${f}:${d}`;s.sideEffects[m]=h,delete s.pendingSideEffects[m]}function a({id:f,$el:d,tag:h}){const m=h.tag.endsWith("Attrs");s.elMap[f]=d,m||(["textContent","innerHTML"].forEach(p=>{h[p]&&h[p]!==d[p]&&(d[p]=h[p])}),i(f,"el",()=>{s.elMap[f].remove(),delete s.elMap[f]})),Object.entries(h.props).forEach(([p,_])=>{const v=`attr:${p}`;if(p==="class")for(const b of(_||"").split(" ").filter(Boolean))m&&i(f,`${v}:${b}`,()=>d.classList.remove(b)),!d.classList.contains(b)&&d.classList.add(b);else d.getAttribute(p)!==_&&d.setAttribute(p,_===!0?"":String(_)),m&&i(f,v,()=>d.removeAttribute(p))})}const c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:h,id:m}=f;if(h){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[m],f.$el?a(f):ro.includes(d.tag)&&c.push(f)}}for(const f of c){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),a(f),l[d]=l[d]||n.createDocumentFragment(),l[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function Qg(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await df(e,t),delete e._domUpdatePromise,r()}))}function Jg(e){return t=>{var r,o;const n=((o=(r=t.resolvedOptions.document)==null?void 0:r.head.querySelector('script[id="unhead:payload"]'))==null?void 0:o.innerHTML)||!1;return n&&t.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(s){Qg(s,e)}}}}}const Zg=["templateParams","htmlAttrs","bodyAttrs"],Gg={hooks:{"tag:normalise":function({tag:e}){["hid","vmid","key"].forEach(r=>{e.props[r]&&(e.key=e.props[r],delete e.props[r])});const n=lf(e)||(e.key?`${e.tag}:${e.key}`:!1);n&&(e._d=n)},"tags:resolve":function(e){const t={};e.tags.forEach(r=>{const o=(r.key?`${r.tag}:${r.key}`:r._d)||r._p,s=t[o];if(s){let a=r==null?void 0:r.tagDuplicateStrategy;if(!a&&Zg.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(l=>{r.props[l]&&c[l]&&(l==="style"&&!c[l].endsWith(";")&&(c[l]+=";"),r.props[l]=`${c[l]} ${r.props[l]}`)}),t[o].props={...c,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(To(r)>To(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(ro.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},Yg={mode:"server",hooks:{"tags:resolve":function(e){const t={};e.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{t[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(t).length&&e.tags.push({tag:"script",innerHTML:JSON.stringify(t),props:{id:"unhead:payload",type:"application/json"}})}}},Xg=["script","link","bodyAttrs"];function ey(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(ff.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const ty=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(Xg.includes(n.tag)){const{props:r,eventHandlers:o}=ey(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||Yi(n.props.src||n.props.href)),n._eventHandlers=o)}},"dom:renderTag":function(t,n,r){if(!t.tag._eventHandlers)return;const o=t.tag.tag==="bodyAttrs"?n.defaultView:t.$el;Object.entries(t.tag._eventHandlers).forEach(([s,i])=>{const a=`${t.tag._d||t.tag._p}:${s}`,c=s.slice(2).toLowerCase(),l=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(l))return;t.$el.setAttribute(l,"");let u;const f=d=>{i(d),u==null||u.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):ff.includes(s)&&typeof MutationObserver<"u"?(u=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),u==null||u.disconnect())}),u.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{u==null||u.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(l)})})}}}),ny=["link","style","script","noscript"],ry={hooks:{"tag:normalise":({tag:e})=>{e.key&&ny.includes(e.tag)&&(e.props["data-hid"]=e._h=Yi(e.key))}}},oy={hooks:{"tags:resolve":e=>{const t=n=>{var r;return(r=e.tags.find(o=>o._d===n))==null?void 0:r._p};for(const{prefix:n,offset:r}of Wg)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>To(n)-To(r))}}},sy={meta:"content",link:"href",htmlAttrs:"lang"},iy={hooks:{"tags:resolve":e=>{var i;const{tags:t}=e,n=(i=t.find(a=>a.tag==="title"))==null?void 0:i.textContent,r=t.findIndex(a=>a.tag==="templateParams"),o=r!==-1?t[r].props:{},s=o.separator||"|";delete o.separator,o.pageTitle=oo(o.pageTitle||n||"",o,s);for(const a of t.filter(c=>c.processTemplateParams!==!1)){const c=sy[a.tag];c&&typeof a.props[c]=="string"?a.props[c]=oo(a.props[c],o,s):(a.processTemplateParams===!0||["titleTemplate","title"].includes(a.tag))&&["innerHTML","textContent"].forEach(l=>{typeof a[l]=="string"&&(a[l]=oo(a[l],o,s))})}e.tags=t.filter(a=>a.tag!=="templateParams")}}},ay={hooks:{"tags:resolve":e=>{const{tags:t}=e;let n=t.findIndex(o=>o.tag==="titleTemplate");const r=t.findIndex(o=>o.tag==="title");if(r!==-1&&n!==-1){const o=_c(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=_c(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}};let hf;function cy(e={}){const t=ly(e);return t.use(Jg()),hf=t}function wc(e,t){return!e||e==="server"&&t||e==="client"&&!t}function ly(e={}){const t=of();t.addHooks(e.hooks||{}),e.document=e.document||(Bg?document:void 0);const n=!e.document,r=()=>{a.dirty=!0,t.callHook("entries:updated",a)};let o=0,s=[];const i=[],a={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(c){const l=typeof c=="function"?c(a):c;(!l.key||!i.some(u=>u.key===l.key))&&(i.push(l),wc(l.mode,n)&&t.addHooks(l.hooks||{}))},push(c,l){l==null||delete l.head;const u={_i:o++,input:c,...l};return wc(u.mode,n)&&(s.push(u),r()),{dispose(){s=s.filter(f=>f._i!==u._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===u._i&&(d.input=u.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const l of c.entries){const u=l.resolvedInput||l.input;if(l.resolvedInput=await(l.transform?l.transform(u):u),l.resolvedInput)for(const f of await Kg(l)){const d={tag:f,entry:l,resolvedOptions:a.resolvedOptions};await t.callHook("tag:normalise",d),c.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",c),await t.callHook("tags:resolve",c),c.tags},ssr:n};return[Gg,Yg,ty,ry,oy,iy,ay,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function uy(){return hf}const fy=qu.startsWith("3");function dy(e){return typeof e=="function"?e():M(e)}function Po(e,t=""){if(e instanceof Promise)return e;const n=dy(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Po(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,Po(o,r)])):n}const hy={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Po(t.input)}}},pf="usehead";function py(e){return{install(n){fy&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(pf,e))}}.install}function my(e={}){e.domDelayFn=e.domDelayFn||(n=>wt(()=>setTimeout(()=>n(),0)));const t=cy(e);return t.use(hy),t.install=py(t),t}const Ys=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Xs="__unhead_injection_handler__";function gy(e){Ys[Xs]=e}function yy(){if(Xs in Ys)return Ys[Xs]();const e=Fe(pf);return e||uy()}function xo(e,t={}){const n=t.head||yy();if(n)return n.ssr?n.push(e,t):_y(n,e,t)}function _y(e,t,n={}){const r=le(!1),o=le({});Zh(()=>{o.value=r.value?{}:Po(t)});const s=e.push(o.value,n);return ve(o,a=>{s.patch(a)}),pt()&&(Jn(()=>{s.dispose()}),vu(()=>{r.value=!0}),_u(()=>{r.value=!1})),s}function vy(e){return{ctx:{table:e},matchAll:t=>gf(t,e)}}function mf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,mf(o)])):new Map(Object.entries(e[n]));return t}function by(e){return vy(mf(e))}function gf(e,t){const n=[];for(const[o,s]of Ec(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Ec(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...gf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Ec(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function ei(e,t,n=".",r){if(!bs(t))return ei(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:bs(i)&&bs(o[s])?o[s]=ei(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function bs(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function yf(e){return(...t)=>t.reduce((n,r)=>ei(n,r,"",e),{})}const pr=yf(),wy=yf((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0}),Gr=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Ey(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n={},o=(t||{}).decode||Py;let s=0;for(;st in e?Ay(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cn=(e,t,n)=>(Ry(e,typeof t!="symbol"?t+"":t,n),n);class ti extends Error{constructor(t,n={}){super(t,n),cn(this,"statusCode",500),cn(this,"fatal",!1),cn(this,"unhandled",!1),cn(this,"statusMessage"),cn(this,"data"),cn(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:ri(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=_f(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}cn(ti,"__h3_error__",!0);function ni(e){if(typeof e=="string")return new ti(e);if(Iy(e))return e;const t=new ti(e.message??e.statusMessage??"",{cause:e.cause||e});if(Sy(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=ri(e.statusCode,t.statusCode):e.status&&(t.statusCode=ri(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;_f(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Iy(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const ky=/[^\u0009\u0020-\u007E]/g;function _f(e=""){return e.replace(ky,"")}function ri(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Oy=Symbol("layout-meta"),Zo=Symbol("route"),ct=()=>{var e;return(e=ge())==null?void 0:e.$router},at=()=>Iu()?Fe(Zo,ge()._route):ge()._route;/*! @__NO_SIDE_EFFECTS__ */const Ly=(e,t,n={})=>{const r=ge(),o=n.global||typeof e!="string",s=typeof e!="string"?e:t;if(!s){console.warn("[nuxt] No route middleware passed to `addRouteMiddleware`.",e);return}o?r._middleware.global.push(s):r._middleware.named[e]=s},$y=()=>{try{if(ge()._processingMiddleware)return!0}catch{return!0}return!1},vf=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:Xu(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,l=Object.entries(c).filter(([u,f])=>f!==void 0).map(([u,f])=>`${u.toLowerCase()}=${f}`).join(", ");open(n,a,l)}return Promise.resolve()}const r=(t==null?void 0:t.external)||Yt(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const a=Nr(n).protocol;if(a&&Bm(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=$y();if(!r&&o)return e;const s=ct(),i=ge();return r?(i._scope.stop(),t!=null&&t.replace?location.replace(n):location.href=n,o?i.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):t!=null&&t.replace?s.replace(e):s.push(e)},Go=()=>Di(ge().payload,"error"),An=e=>{const t=Yo(e);try{const n=ge(),r=Go();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},My=async(e={})=>{const t=ge(),n=Go();t.callHook("app:error:cleared",e),e.redirect&&await ct().replace(e.redirect),n.value=null},Ny=e=>!!(e&&typeof e=="object"&&"__nuxt_error"in e),Yo=e=>{const t=ni(e);return t.__nuxt_error=!0,t},oi=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Dy=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Xi=e=>{const t=ge();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{oi(e)}):oi(e)},uP=!1,si=!1,Hy=!1,Fy={componentName:"NuxtLink"},jy={deep:!0},By="#__nuxt";function Vy(...e){var h;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[n,r,o={}]=e;if(typeof n!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof r!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=ge(),i=()=>null,a=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??i,o.getCachedData=o.getCachedData??a,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??jy.deep;const c=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(h=s.payload._errors)[n]??(h[n]=null);const m=o.deep?le:It;s._asyncData[n]={data:m(o.getCachedData(n)??o.default()),pending:le(!c()),error:Di(s.payload._errors,n),status:le("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(m={})=>{if(s._asyncDataPromises[n]){if(m.dedupe===!1)return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((m._initial||s.isHydrating&&m._initial!==!1)&&c())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const p=new Promise((_,v)=>{try{_(r(s))}catch(b){v(b)}}).then(_=>{if(p.cancelled)return s._asyncDataPromises[n];let v=_;o.transform&&(v=o.transform(_)),o.pick&&(v=Uy(v,o.pick)),l.data.value=v,l.error.value=null,l.status.value="success"}).catch(_=>{if(p.cancelled)return s._asyncDataPromises[n];l.error.value=_,l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{p.cancelled||(l.pending.value=!1,s.payload.data[n]=l.data.value,l.error.value&&(s.payload._errors[n]=Yo(l.error.value)),delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=p,s._asyncDataPromises[n]};const u=()=>l.refresh({_initial:!0}),f=o.server!==!1&&s.payload.serverRendered;{const m=pt();if(m&&!m._nuxtOnBeforeMountCbs){m._nuxtOnBeforeMountCbs=[];const _=m._nuxtOnBeforeMountCbs;m&&(wu(()=>{_.forEach(v=>{v()}),_.splice(0,_.length)}),Tr(()=>_.splice(0,_.length)))}l.error.value||f&&s.isHydrating&&c()?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):m&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?m._nuxtOnBeforeMountCbs.push(u):o.immediate&&u(),o.watch&&ve(o.watch,()=>l.refresh());const p=s.hook("app:data:refresh",async _=>{(!_||_.includes(n))&&await l.refresh()});m&&Tr(p)}const d=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(d,l),d}function zy(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r,o]=e;return Vy(n,r,{...o,lazy:!0},null)}function Uy(e,t){const n={};for(const r of t)n[r]=e[r];return n}const Ky="$s";function At(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=Ky+n,s=ge(),i=Di(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Le(a))return s.payload.state[o]=a,a;i.value=a}return i}const Tc=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function Wy(e,t){t?t={...Tc,...t}:t=Tc;const n=bf(t);return n.dispatch(e),n.toString()}const qy=Object.freeze(["prototype","__proto__","constructor"]);function bf(e){let t="",n=new Map;const r=o=>{t+=o};return{toString(){return t},getContext(){return n},dispatch(o){return e.replacer&&(o=e.replacer(o)),this[o===null?"null":typeof o](o)},object(o){if(o&&typeof o.toJSON=="function")return this.object(o.toJSON());const s=Object.prototype.toString.call(o);let i="";const a=s.length;a<10?i="unknown:["+s+"]":i=s.slice(8,a-1),i=i.toLowerCase();let c=null;if((c=n.get(o))===void 0)n.set(o,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(o))return r("buffer:"),r(o.toString("utf8"));if(i!=="object"&&i!=="function"&&i!=="asyncfunction")this[i]?this[i](o):e.ignoreUnknown||this.unkown(o,i);else{let l=Object.keys(o);e.unorderedObjects&&(l=l.sort());let u=[];e.respectType!==!1&&!Pc(o)&&(u=qy),e.excludeKeys&&(l=l.filter(d=>!e.excludeKeys(d)),u=u.filter(d=>!e.excludeKeys(d))),r("object:"+(l.length+u.length)+":");const f=d=>{this.dispatch(d),r(":"),e.excludeValues||this.dispatch(o[d]),r(",")};for(const d of l)f(d);for(const d of u)f(d)}},array(o,s){if(s=s===void 0?e.unorderedArrays!==!1:s,r("array:"+o.length+":"),!s||o.length<=1){for(const c of o)this.dispatch(c);return}const i=new Map,a=o.map(c=>{const l=bf(e);l.dispatch(c);for(const[u,f]of l.getContext())i.set(u,f);return l.toString()});return n=i,a.sort(),this.array(a,!1)},date(o){return r("date:"+o.toJSON())},symbol(o){return r("symbol:"+o.toString())},unkown(o,s){if(r(s),!!o&&(r(":"),o&&typeof o.entries=="function"))return this.array(Array.from(o.entries()),!0)},error(o){return r("error:"+o.toString())},boolean(o){return r("bool:"+o)},string(o){r("string:"+o.length+":"),r(o)},function(o){r("fn:"),Pc(o)?this.dispatch("[native]"):this.dispatch(o.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(o.name)),e.respectFunctionProperties&&this.object(o)},number(o){return r("number:"+o)},xml(o){return r("xml:"+o.toString())},null(){return r("Null")},undefined(){return r("Undefined")},regexp(o){return r("regex:"+o.toString())},uint8array(o){return r("uint8array:"),this.dispatch(Array.prototype.slice.call(o))},uint8clampedarray(o){return r("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(o))},int8array(o){return r("int8array:"),this.dispatch(Array.prototype.slice.call(o))},uint16array(o){return r("uint16array:"),this.dispatch(Array.prototype.slice.call(o))},int16array(o){return r("int16array:"),this.dispatch(Array.prototype.slice.call(o))},uint32array(o){return r("uint32array:"),this.dispatch(Array.prototype.slice.call(o))},int32array(o){return r("int32array:"),this.dispatch(Array.prototype.slice.call(o))},float32array(o){return r("float32array:"),this.dispatch(Array.prototype.slice.call(o))},float64array(o){return r("float64array:"),this.dispatch(Array.prototype.slice.call(o))},arraybuffer(o){return r("arraybuffer:"),this.dispatch(new Uint8Array(o))},url(o){return r("url:"+o.toString())},map(o){r("map:");const s=[...o];return this.array(s,e.unorderedSets!==!1)},set(o){r("set:");const s=[...o];return this.array(s,e.unorderedSets!==!1)},file(o){return r("file:"),this.dispatch([o.name,o.size,o.type,o.lastModfied])},blob(){if(e.ignoreUnknown)return r("[blob]");throw new Error(`Hashing Blob objects is currently not supported +Use "options.replacer" or "options.ignoreUnknown" +`)},domwindow(){return r("domwindow")},bigint(o){return r("bigint:"+o.toString())},process(){return r("process")},timer(){return r("timer")},pipe(){return r("pipe")},tcp(){return r("tcp")},udp(){return r("udp")},tty(){return r("tty")},statwatcher(){return r("statwatcher")},securecontext(){return r("securecontext")},connection(){return r("connection")},zlib(){return r("zlib")},context(){return r("context")},nodescript(){return r("nodescript")},httpparser(){return r("httpparser")},dataview(){return r("dataview")},signal(){return r("signal")},fsevent(){return r("fsevent")},tlswrap(){return r("tlswrap")}}}const wf="[native code] }",Qy=wf.length;function Pc(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-Qy)===wf}class Jt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||Jy).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Jt([...this.words])}}const Jy={stringify(e){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255;t.push((r>>>4).toString(16),(r&15).toString(16))}return t.join("")}},Zy={stringify(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=[];for(let r=0;r>>2]>>>24-r%4*8&255,s=e.words[r+1>>>2]>>>24-(r+1)%4*8&255,i=e.words[r+2>>>2]>>>24-(r+2)%4*8&255,a=o<<16|s<<8|i;for(let c=0;c<4&&r*8+c*6>>6*(3-c)&63))}return n.join("")}},Gy={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Jt(n,t)}},Yy={parse(e){return Gy.parse(unescape(encodeURIComponent(e)))}};class Xy{constructor(){this._data=new Jt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Jt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=Yy.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_doProcessBlock(t,n){}_process(t){let n,r=this._data.sigBytes/(this.blockSize*4);t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const o=r*this.blockSize,s=Math.min(o*4,this._data.sigBytes);if(o){for(let i=0;i>>7)^(y<<14|y>>>18)^y>>>3,P=an[d-2],S=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;an[d]=g+an[d-7]+S+an[d-16]}const h=c&l^~c&u,m=o&s^o&i^s&i,p=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),_=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),v=f+_+h+t_[d]+an[d],b=p+m;f=u,u=l,l=c,c=a+v|0,a=i,i=s,s=o,o=v+b|0}r[0]=r[0]+o|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0,r[5]=r[5]+l|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function r_(e){return new n_().finalize(e).toString(Zy)}function So(e,t={}){const n=typeof e=="string"?e:Wy(e,t);return r_(n).slice(0,10)}const o_={path:"/",watch:!0,decode:e=>Sr(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function so(e,t){var s;const n={...o_,...t},r=s_(n)||{},o=le(r[e]??((s=n.default)==null?void 0:s.call(n)));{const i=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),a=()=>{a_(e,o.value,n),i==null||i.postMessage(n.encode(o.value))};let c=!1;jo()&&Kn(()=>{c=!0,a(),i==null||i.close()}),i&&(i.onmessage=l=>{c=!0,o.value=n.decode(l.data),wt(()=>{c=!1})}),n.watch?ve(o,()=>{c||a()},{deep:n.watch!=="shallow"}):a()}return o}function s_(e={}){return Ey(document.cookie,e)}function i_(e,t,n={}){return t==null?Cc(e,t,{...n,maxAge:-1}):Cc(e,t,n)}function a_(e,t,n={}){document.cookie=i_(e,t,n)}const c_=async e=>{const t=ge();e=Array.isArray(e)?e:[e],await Promise.all(e.map(n=>u_(t.vueApp._context.components[n])))},l_=e=>c_(e);function u_(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Ef(e,t=ct()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Ef(e,t));t._routePreloaded.add(n);const s=r.map(i=>{var a;return(a=i.components)==null?void 0:a.default}).filter(i=>typeof i=="function");for(const i of s){const a=Promise.resolve(i()).catch(()=>{}).finally(()=>o.splice(o.indexOf(a)));o.push(a)}await Promise.all(o)}function f_(e={}){const t=e.path||window.location.pathname;let n={};try{n=Sr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0),h_="noopener noreferrer";/*! @__NO_SIDE_EFFECTS__ */function p_(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;const s=e.trailingSlash==="append"?wo:_n;if(typeof r=="string")return s(r,!0);const i="path"in r?r.path:o(r).path;return{...r,name:void 0,path:s(i,!0)}};return Re({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=ct(),i=ee(()=>{const f=r.to||r.href||"";return n(f,s.resolve)}),a=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof i.value=="object"?!1:i.value===""||Yt(i.value,{acceptRelative:!0})),c=le(!1),l=le(null),u=f=>{var d;l.value=r.custom?(d=f==null?void 0:f.$el)==null?void 0:d.nextElementSibling:f==null?void 0:f.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!g_()){const d=ge();let h,m=null;Xt(()=>{const p=m_();Xi(()=>{h=oi(()=>{var _;(_=l==null?void 0:l.value)!=null&&_.tagName&&(m=p.observe(l.value,async()=>{m==null||m(),m=null;const v=typeof i.value=="string"?i.value:s.resolve(i.value).fullPath;await Promise.all([d.hooks.callHook("link:prefetch",v).catch(()=>{}),!a.value&&Ef(i.value,s).catch(()=>{})]),c.value=!0}))})})}),Jn(()=>{h&&Dy(h),m==null||m(),m=null})}return()=>{var p,_;if(!a.value){const v={ref:u,to:i.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(c.value&&(v.class=r.prefetchedClass||e.prefetchedClass),v.rel=r.rel),et(lp("RouterLink"),v,o.default)}const f=typeof i.value=="object"?((p=s.resolve(i.value))==null?void 0:p.href)??null:i.value||null,d=r.target||null,h=r.noRel?null:d_(r.rel,e.externalRelAttribute,f?h_:"")||null,m=()=>vf(f,{replace:r.replace});return r.custom?o.default?o.default({href:f,navigate:m,get route(){if(!f)return;const v=Nr(f);return{path:v.pathname,fullPath:v.pathname,get query(){return Gu(v.search)},hash:v.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f}},rel:h,target:d,isExternal:a.value,isActive:!1,isExactActive:!1}):null:et("a",{ref:l,href:f,rel:h,target:d},(_=o.default)==null?void 0:_.call(o))}}})}const Dr=p_(Fy);function m_(){const e=ge();if(e._observer)return e._observer;let t=null;const n=new Map,r=(s,i)=>(t||(t=new IntersectionObserver(a=>{for(const c of a){const l=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function g_(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const y_={docus:{title:"setup.md",description:"Your open source Minecraft administration wiki.",image:"",socials:{github:"setupmd/docs",discord:{label:"Discord",icon:"simple-icons:discord",href:"https://link.setup.md/discord"}},github:{dir:".starters/default/content",branch:"v3-nuxt",repo:"docs",owner:"setupmd",edit:!0},aside:{level:0,collapsed:!1,exclude:[]},main:{padded:!0,fluid:!0},header:{logo:!0,showLinkIcon:!0,exclude:[],fluid:!0}}},__={docus:{title:"Docus",description:"The best place to start your documentation.",url:"https://docus.dev",image:"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png",socials:{},layout:"default",header:{title:"",logo:!1,showLinkIcon:!1,fluid:!1,exclude:[]},aside:{level:0,collapsed:!1,exclude:[]},footer:{credits:{icon:"IconDocus",text:"Powered by Docus",href:"https://docus.dev"},textLinks:[],iconLinks:[],fluid:!1},github:{dir:void 0,branch:void 0,repo:void 0,owner:void 0,edit:!1}}},v_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},b_={},w_={nuxt:{buildId:"5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66"}},E_=wy(y_,__,v_,b_,w_);function ea(){const e=ge();return e._appConfig||(e._appConfig=tt(E_)),e._appConfig}let io,Cf;function C_(){var n;const e=Je(),t=(n=ea().nuxt)==null?void 0:n.buildId;return io=$fetch(en(e.app.cdnURL||e.app.baseURL,e.app.buildAssetsDir,`builds/meta/${t}.json`)),io.then(r=>{Cf=by(r.matcher)}),io}function Xo(){return io||C_()}async function Tf(e){return await Xo(),pr({},...Cf.matchAll(e).reverse())}function Sc(e,t={}){const n=T_(e,t),r=ge(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=P_().then(s=>s?Pf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Ac="json";function T_(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost"||Yt(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return en(Je().app.baseURL,n.pathname,r?`_payload.${r}.${Ac}`:`_payload.${Ac}`)}async function Pf(e){const t=fetch(e).then(n=>n.text().then(xf));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function P_(e=at().path){if(ge().payload.prerenderedAt||(await Xo()).prerendered.includes(e))return!0;const r=await Tf(e);return!!r.prerender&&!r.redirect}let Yr=null;async function x_(){if(Yr)return Yr;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=xf(e.textContent||""),n=e.dataset.src?await Pf(e.dataset.src):void 0;return Yr={...t,...n,...window.__NUXT__},Yr}function xf(e){return Mg(e,ge()._payloadRevivers)}function S_(e,t){ge()._payloadRevivers[e]=t}const Rc={NuxtError:e=>Yo(e),EmptyShallowRef:e=>It(e==="_"?void 0:e==="0n"?BigInt(0):Sr(e)),EmptyRef:e=>le(e==="_"?void 0:e==="0n"?BigInt(0):Sr(e)),ShallowRef:e=>It(e),ShallowReactive:e=>Wt(e),Ref:e=>le(e),Reactive:e=>tt(e)},A_=Ze({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in Rc)S_(r,Rc[r]);Object.assign(e.payload,([t,n]=Ar(()=>e.runWithContext(x_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),R_=[],I_=Ze({name:"nuxt:head",enforce:"pre",setup(e){const t=my({plugins:R_});gy(()=>ge().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await df(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const xn=typeof window<"u";function k_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const _e=Object.assign;function ws(e,t){const n={};for(const r in t){const o=t[r];n[r]=ht(o)?o.map(e):e(o)}return n}const mr=()=>{},ht=Array.isArray,O_=/\/$/,L_=e=>e.replace(O_,"");function Es(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let c=t.indexOf("?");return a=0&&(c=-1),c>-1&&(r=t.slice(0,c),s=t.slice(c+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=D_(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function $_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ic(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function M_(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Vn(t.matched[r],n.matched[o])&&Sf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Vn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Sf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!N_(e[n],t[n]))return!1;return!0}function N_(e,t){return ht(e)?kc(e,t):ht(t)?kc(t,e):e===t}function kc(e,t){return ht(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function D_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var Rr;(function(e){e.pop="pop",e.push="push"})(Rr||(Rr={}));var gr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(gr||(gr={}));function H_(e){if(!e)if(xn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),L_(e)}const F_=/^[^#]+#/;function j_(e,t){return e.replace(F_,"#")+t}function B_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const es=()=>({left:window.pageXOffset,top:window.pageYOffset});function V_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=B_(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Oc(e,t){return(history.state?history.state.position-t:-1)+e}const ii=new Map;function z_(e,t){ii.set(e,t)}function U_(e){const t=ii.get(e);return ii.delete(e),t}let K_=()=>location.protocol+"//"+location.host;function Af(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),Ic(c,"")}return Ic(n,e)+r+o}function W_(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=Af(e,location),m=n.value,p=t.value;let _=0;if(d){if(n.value=h,t.value=d,i&&i===m){i=null;return}_=p?d.position-p.position:0}else r(h);o.forEach(v=>{v(n.value,m,{delta:_,type:Rr.pop,direction:_?_>0?gr.forward:gr.back:gr.unknown})})};function c(){i=n.value}function l(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(_e({},d.state,{scroll:es()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Lc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?es():null}}function q_(e){const{history:t,location:n}=window,r={value:Af(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:K_()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),o.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(c,l){const u=_e({},t.state,Lc(o.value.back,c,o.value.forward,!0),l,{position:o.value.position});s(c,u,!0),r.value=c}function a(c,l){const u=_e({},o.value,t.state,{forward:c,scroll:es()});s(u.current,u,!0);const f=_e({},Lc(r.value,c,null),{position:u.position+1},l);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function Rf(e){e=H_(e);const t=q_(e),n=W_(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=_e({location:"",base:e,go:r,createHref:j_.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Q_(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Rf(e)}function J_(e){return typeof e=="string"||e&&typeof e=="object"}function If(e){return typeof e=="string"||typeof e=="symbol"}const gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},kf=Symbol("");var $c;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})($c||($c={}));function zn(e,t){return _e(new Error,{type:e,[kf]:!0},t)}function Ct(e,t){return e instanceof Error&&kf in e&&(t==null||!!(e.type&t))}const Mc="[^/]+?",Z_={sensitive:!1,strict:!1,start:!0,end:!0},G_=/[.+*?^${}()[\]/\\]/g;function Y_(e,t){const n=_e({},Z_,t),r=[];let o=n.start?"^":"";const s=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function ev(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const tv={type:0,value:""},nv=/[a-zA-Z0-9_]/;function rv(e){if(!e)return[[]];if(e==="/")return[[tv]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,l="",u="";function f(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{i(b)}:mr}function i(u){if(If(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Of(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Hc(u)&&r.set(u.record.name,u)}function l(u,f){let d,h={},m,p;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw zn(1,{location:u});p=d.record.name,h=_e(Dc(f.params,d.keys.filter(b=>!b.optional).map(b=>b.name)),u.params&&Dc(u.params,d.keys.map(b=>b.name))),m=d.stringify(h)}else if("path"in u)m=u.path,d=n.find(b=>b.re.test(m)),d&&(h=d.parse(m),p=d.record.name);else{if(d=f.name?r.get(f.name):n.find(b=>b.re.test(f.path)),!d)throw zn(1,{location:u,currentLocation:f});p=d.record.name,h=_e({},f.params,u.params),m=d.stringify(h)}const _=[];let v=d;for(;v;)_.unshift(v.record),v=v.parent;return{name:p,path:m,params:h,matched:_,meta:cv(_)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:l,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function Dc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function iv(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:av(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function av(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Hc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cv(e){return e.reduce((t,n)=>_e(t,n.meta),{})}function Fc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Of(e,t){return t.children.some(n=>n===e||Of(e,n))}const Lf=/#/g,lv=/&/g,uv=/\//g,fv=/=/g,dv=/\?/g,$f=/\+/g,hv=/%5B/g,pv=/%5D/g,Mf=/%5E/g,mv=/%60/g,Nf=/%7B/g,gv=/%7C/g,Df=/%7D/g,yv=/%20/g;function ta(e){return encodeURI(""+e).replace(gv,"|").replace(hv,"[").replace(pv,"]")}function _v(e){return ta(e).replace(Nf,"{").replace(Df,"}").replace(Mf,"^")}function ai(e){return ta(e).replace($f,"%2B").replace(yv,"+").replace(Lf,"%23").replace(lv,"%26").replace(mv,"`").replace(Nf,"{").replace(Df,"}").replace(Mf,"^")}function vv(e){return ai(e).replace(fv,"%3D")}function bv(e){return ta(e).replace(Lf,"%23").replace(dv,"%3F")}function wv(e){return e==null?"":bv(e).replace(uv,"%2F")}function Ao(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Ev(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&ai(s)):[r&&ai(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Cv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ht(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Tv=Symbol(""),Bc=Symbol(""),na=Symbol(""),ra=Symbol(""),ci=Symbol("");function er(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function zt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=f=>{f===!1?a(zn(4,{from:n,to:t})):f instanceof Error?a(f):J_(f)?a(zn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},l=e.call(r&&r.instances[o],t,n,c);let u=Promise.resolve(l);e.length<3&&(u=u.then(c)),u.catch(f=>a(f))})}function Cs(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let a=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(Pv(a)){const l=(a.__vccOpts||a)[t];l&&o.push(zt(l,n,r,s,i))}else{let c=a();o.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=k_(l)?l.default:l;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&zt(d,n,r,s,i)()}))}}return o}function Pv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Vc(e){const t=Fe(na),n=Fe(ra),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Vn.bind(null,u));if(d>-1)return d;const h=zc(c[l-2]);return l>1&&zc(u)===h&&f[f.length-1].path!==h?f.findIndex(Vn.bind(null,c[l-2])):d}),s=ee(()=>o.value>-1&&Rv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&Sf(n.params,r.value.params));function a(c={}){return Av(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(mr):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const xv=Re({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Vc,setup(e,{slots:t}){const n=tt(Vc(e)),{options:r}=Fe(na),o=ee(()=>({[Uc(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Uc(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:et("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Sv=xv;function Av(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Rv(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ht(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function zc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Uc=(e,t,n)=>e??t??n,Iv=Re({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Fe(ci),o=ee(()=>e.route||r.value),s=Fe(Bc,0),i=ee(()=>{let l=M(s);const{matched:u}=o.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=ee(()=>o.value.matched[i.value]);Mn(Bc,ee(()=>i.value+1)),Mn(Tv,a),Mn(ci,o);const c=le();return ve(()=>[c.value,a.value,e.name],([l,u,f],[d,h,m])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!Vn(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Kc(n.default,{Component:d,route:l});const h=f.props[u],m=h?h===!0?l.params:typeof h=="function"?h(l):h:null,_=et(d,_e({},m,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return Kc(n.default,{Component:_,route:l})||_}}});function Kc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Hf=Iv;function kv(e){const t=sv(e.routes,e),n=e.parseQuery||Ev,r=e.stringifyQuery||jc,o=e.history,s=er(),i=er(),a=er(),c=It(gt);let l=gt;xn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ws.bind(null,L=>""+L),f=ws.bind(null,wv),d=ws.bind(null,Ao);function h(L,G){let q,X;return If(L)?(q=t.getRecordMatcher(L),X=G):X=L,t.addRoute(X,q)}function m(L){const G=t.getRecordMatcher(L);G&&t.removeRoute(G)}function p(){return t.getRoutes().map(L=>L.record)}function _(L){return!!t.getRecordMatcher(L)}function v(L,G){if(G=_e({},G||c.value),typeof L=="string"){const x=Es(n,L,G.path),k=t.resolve({path:x.path},G),N=o.createHref(x.fullPath);return _e(x,k,{params:d(k.params),hash:Ao(x.hash),redirectedFrom:void 0,href:N})}let q;if("path"in L)q=_e({},L,{path:Es(n,L.path,G.path).path});else{const x=_e({},L.params);for(const k in x)x[k]==null&&delete x[k];q=_e({},L,{params:f(x)}),G.params=f(G.params)}const X=t.resolve(q,G),ye=L.hash||"";X.params=u(d(X.params));const w=$_(r,_e({},L,{hash:_v(ye),path:X.path})),E=o.createHref(w);return _e({fullPath:w,hash:ye,query:r===jc?Cv(L.query):L.query||{}},X,{redirectedFrom:void 0,href:E})}function b(L){return typeof L=="string"?Es(n,L,c.value.path):_e({},L)}function y(L,G){if(l!==L)return zn(8,{from:G,to:L})}function g(L){return A(L)}function P(L){return g(_e(b(L),{replace:!0}))}function S(L){const G=L.matched[L.matched.length-1];if(G&&G.redirect){const{redirect:q}=G;let X=typeof q=="function"?q(L):q;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=b(X):{path:X},X.params={}),_e({query:L.query,hash:L.hash,params:"path"in X?{}:L.params},X)}}function A(L,G){const q=l=v(L),X=c.value,ye=L.state,w=L.force,E=L.replace===!0,x=S(q);if(x)return A(_e(b(x),{state:typeof x=="object"?_e({},ye,x.state):ye,force:w,replace:E}),G||q);const k=q;k.redirectedFrom=G;let N;return!w&&M_(r,X,q)&&(N=zn(16,{to:k,from:X}),Ae(X,X,!0,!1)),(N?Promise.resolve(N):R(k,X)).catch(F=>Ct(F)?Ct(F,2)?F:be(F):U(F,k,X)).then(F=>{if(F){if(Ct(F,2))return A(_e({replace:E},b(F.to),{state:typeof F.to=="object"?_e({},ye,F.to.state):ye,force:w}),G||k)}else F=T(k,X,!0,E,ye);return O(k,X,F),F})}function I(L,G){const q=y(L,G);return q?Promise.reject(q):Promise.resolve()}function H(L){const G=Ve.values().next().value;return G&&typeof G.runWithContext=="function"?G.runWithContext(L):L()}function R(L,G){let q;const[X,ye,w]=Ov(L,G);q=Cs(X.reverse(),"beforeRouteLeave",L,G);for(const x of X)x.leaveGuards.forEach(k=>{q.push(zt(k,L,G))});const E=I.bind(null,L,G);return q.push(E),Ie(q).then(()=>{q=[];for(const x of s.list())q.push(zt(x,L,G));return q.push(E),Ie(q)}).then(()=>{q=Cs(ye,"beforeRouteUpdate",L,G);for(const x of ye)x.updateGuards.forEach(k=>{q.push(zt(k,L,G))});return q.push(E),Ie(q)}).then(()=>{q=[];for(const x of w)if(x.beforeEnter)if(ht(x.beforeEnter))for(const k of x.beforeEnter)q.push(zt(k,L,G));else q.push(zt(x.beforeEnter,L,G));return q.push(E),Ie(q)}).then(()=>(L.matched.forEach(x=>x.enterCallbacks={}),q=Cs(w,"beforeRouteEnter",L,G),q.push(E),Ie(q))).then(()=>{q=[];for(const x of i.list())q.push(zt(x,L,G));return q.push(E),Ie(q)}).catch(x=>Ct(x,8)?x:Promise.reject(x))}function O(L,G,q){a.list().forEach(X=>H(()=>X(L,G,q)))}function T(L,G,q,X,ye){const w=y(L,G);if(w)return w;const E=G===gt,x=xn?history.state:{};q&&(X||E?o.replace(L.fullPath,_e({scroll:E&&x&&x.scroll},ye)):o.push(L.fullPath,ye)),c.value=L,Ae(L,G,q,E),be()}let C;function $(){C||(C=o.listen((L,G,q)=>{if(!Et.listening)return;const X=v(L),ye=S(X);if(ye){A(_e(ye,{replace:!0}),X).catch(mr);return}l=X;const w=c.value;xn&&z_(Oc(w.fullPath,q.delta),es()),R(X,w).catch(E=>Ct(E,12)?E:Ct(E,2)?(A(E.to,X).then(x=>{Ct(x,20)&&!q.delta&&q.type===Rr.pop&&o.go(-1,!1)}).catch(mr),Promise.reject()):(q.delta&&o.go(-q.delta,!1),U(E,X,w))).then(E=>{E=E||T(X,w,!1),E&&(q.delta&&!Ct(E,8)?o.go(-q.delta,!1):q.type===Rr.pop&&Ct(E,20)&&o.go(-1,!1)),O(X,w,E)}).catch(mr)}))}let J=er(),j=er(),W;function U(L,G,q){be(L);const X=j.list();return X.length?X.forEach(ye=>ye(L,G,q)):console.error(L),Promise.reject(L)}function he(){return W&&c.value!==gt?Promise.resolve():new Promise((L,G)=>{J.add([L,G])})}function be(L){return W||(W=!L,$(),J.list().forEach(([G,q])=>L?q(L):G()),J.reset()),L}function Ae(L,G,q,X){const{scrollBehavior:ye}=e;if(!xn||!ye)return Promise.resolve();const w=!q&&U_(Oc(L.fullPath,0))||(X||!q)&&history.state&&history.state.scroll||null;return wt().then(()=>ye(L,G,w)).then(E=>E&&V_(E)).catch(E=>U(E,L,G))}const Se=L=>o.go(L);let Me;const Ve=new Set,Et={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:_,getRoutes:p,resolve:v,options:e,push:g,replace:P,go:Se,back:()=>Se(-1),forward:()=>Se(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:j.add,isReady:he,install(L){const G=this;L.component("RouterLink",Sv),L.component("RouterView",Hf),L.config.globalProperties.$router=G,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),xn&&!Me&&c.value===gt&&(Me=!0,g(o.location).catch(ye=>{}));const q={};for(const ye in gt)Object.defineProperty(q,ye,{get:()=>c.value[ye],enumerable:!0});L.provide(na,G),L.provide(ra,Wt(q)),L.provide(ci,c);const X=L.unmount;Ve.add(L),L.unmount=function(){Ve.delete(L),Ve.size<1&&(l=gt,C&&C(),C=null,c.value=gt,Me=!1,W=!1),X()}}};function Ie(L){return L.reduce((G,q)=>G.then(()=>H(q)),Promise.resolve())}return Et}function Ov(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iVn(l,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(l=>Vn(l,c))||o.push(c))}return[n,r,o]}function fP(){return Fe(ra)}const Wc=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:void 0,component:()=>D(()=>import("./document-driven.a6ed99f5.js"),["./document-driven.a6ed99f5.js","./DocumentDrivenEmpty.cecc2449.js","./ContentRenderer.3ec87499.js","./ContentRendererMarkdown.vue.41c2c305.js","./DocumentDrivenNotFound.2e5af98f.js","./ButtonLink.23e0d758.js","./slot.51812f31.js","./node.676c5e99.js","./ButtonLink.c4905621.css","./DocumentDrivenNotFound.7238633c.css"],import.meta.url).then(e=>e.default||e)}],Lv={scrollBehavior(e,t,n){if(!history.state.stop){if(history.state.smooth)return{el:history.state.smooth,behavior:"smooth"};if(e.hash){const r=document.querySelector(e.hash);if(!r)return;const{marginTop:o}=getComputedStyle(r),s=parseInt(o);return{top:document.querySelector(e.hash).offsetTop-s,behavior:"smooth"}}return n||{top:0}}}},$v={scrollBehavior(e,t,n){var l;const r=ge(),o=((l=ct().options)==null?void 0:l.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&Mv(t,e)&&(s={left:0,top:0}),e.path===t.path){if(t.hash&&!e.hash)return{left:0,top:0};if(e.hash)return{el:e.hash,top:qc(e.hash),behavior:o}}const a=u=>!!(u.meta.pageTransition??si),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(c,async()=>{await wt(),e.hash&&(s={el:e.hash,top:qc(e.hash),behavior:o}),u(s)})})}};function qc(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}function Mv(e,t){return t.path!==e.path||JSON.stringify(e.params)!==JSON.stringify(t.params)}const Nv={},We={...Nv,...$v,...Lv},Dv=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ge(),o=ct();if(([t,n]=Ar(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=Yo({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`}),a=o.beforeResolve(l=>{if(a(),l===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>An(i)),window.history.pushState({},"",e.fullPath)});return!1}})},Hv=async e=>{let t,n;const r=([t,n]=Ar(()=>Tf(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},Fv=[Dv,Hv],yr={};function jv(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const l=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(l);return u[0]!=="/"&&(u="/"+u),fc(u,"")}const a=fc(r,e),c=!n||Wm(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const Bv=Ze({name:"nuxt:router",enforce:"pre",async setup(e){var p,_;let t,n,r=Je().app.baseURL;We.hashMode&&!r.includes("#")&&(r+="#");const o=((p=We.history)==null?void 0:p.call(We,r))??(We.hashMode?Q_(r):Rf(r)),s=((_=We.routes)==null?void 0:_.call(We,Wc))??Wc;let i;const a=jv(r,window.location,e.payload.path),c=kv({...We,scrollBehavior:(v,b,y)=>{var g;if(b===gt){i=y;return}return c.options.scrollBehavior=We.scrollBehavior,(g=We.scrollBehavior)==null?void 0:g.call(We,v,gt,i||y)},history:o,routes:s});e.vueApp.use(c);const l=It(c.currentRoute.value);c.afterEach((v,b)=>{l.value=b}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=It(c.resolve(a)),f=()=>{u.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((v,b)=>{var y,g,P,S;((g=(y=v.matched[0])==null?void 0:y.components)==null?void 0:g.default)===((S=(P=b.matched[0])==null?void 0:P.components)==null?void 0:S.default)&&f()});const d={};for(const v in u.value)Object.defineProperty(d,v,{get:()=>u.value[v]});e._route=Wt(d),e._middleware=e._middleware||{global:[],named:{}};const h=Go();try{[t,n]=Ar(()=>c.isReady()),await t,n()}catch(v){[t,n]=Ar(()=>e.runWithContext(()=>An(v))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(v,b)=>{var y;v.meta=tt(v.meta),e.isHydrating&&m&&!yn(v.meta.layout)&&(v.meta.layout=m),e._processingMiddleware=!0;{const g=new Set([...Fv,...e._middleware.global]);for(const P of v.matched){const S=P.meta.middleware;if(S)if(Array.isArray(S))for(const A of S)g.add(A);else g.add(S)}for(const P of g){const S=typeof P=="string"?e._middleware.named[P]||await((y=yr[P])==null?void 0:y.call(yr).then(I=>I.default||I)):P;if(!S)throw new Error(`Unknown route middleware: '${P}'.`);const A=await e.runWithContext(()=>S(v,b));if(!e.payload.serverRendered&&e.isHydrating&&(A===!1||A instanceof Error)){const I=A||ni({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>An(I)),!1}if(A!==!0&&(A||A===!1))return A}}}),c.onError(()=>{delete e._processingMiddleware}),c.afterEach(async(v,b,y)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(My),v.matched.length===0&&await e.runWithContext(()=>An(ni({statusCode:404,fatal:!1,statusMessage:`Page not found: ${v.fullPath}`})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=We.scrollBehavior}catch(v){await e.runWithContext(()=>An(v))}}),{provide:{router:c}}}}),Vv=Ze({name:"nuxt:payload",setup(e){ct().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Sc(t.path);r&&Object.assign(e.static.data,r.data)}),Xi(()=>{var t;e.hooks.hook("link:prefetch",async n=>{Nr(n).protocol||await Sc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(Xo,1e3)})}}),zv=B(()=>D(()=>Promise.resolve().then(()=>OE),void 0,import.meta.url).then(e=>e.default)),Uv=B(()=>D(()=>Promise.resolve().then(()=>YT),void 0,import.meta.url).then(e=>e.default)),Kv=B(()=>D(()=>Promise.resolve().then(()=>UT),void 0,import.meta.url).then(e=>e.default)),Wv=B(()=>D(()=>Promise.resolve().then(()=>dE),void 0,import.meta.url).then(e=>e.default)),qv=B(()=>D(()=>Promise.resolve().then(()=>TE),void 0,import.meta.url).then(e=>e.default)),Qv=B(()=>D(()=>Promise.resolve().then(()=>SE),void 0,import.meta.url).then(e=>e.default)),Jv=B(()=>D(()=>Promise.resolve().then(()=>nP),void 0,import.meta.url).then(e=>e.default)),Zv=B(()=>D(()=>Promise.resolve().then(()=>W1),void 0,import.meta.url).then(e=>e.default)),Gv=B(()=>D(()=>Promise.resolve().then(()=>RT),void 0,import.meta.url).then(e=>e.default)),Yv=B(()=>D(()=>Promise.resolve().then(()=>nE),void 0,import.meta.url).then(e=>e.default)),Xv=B(()=>D(()=>import("./DocumentDrivenNotFound.2e5af98f.js"),["./DocumentDrivenNotFound.2e5af98f.js","./ButtonLink.23e0d758.js","./slot.51812f31.js","./node.676c5e99.js","./ButtonLink.c4905621.css","./DocumentDrivenNotFound.7238633c.css"],import.meta.url).then(e=>e.default)),e0=B(()=>D(()=>import("./Ellipsis.9de49135.js"),["./Ellipsis.9de49135.js","./Ellipsis.7a0b54f8.css"],import.meta.url).then(e=>e.default)),t0=B(()=>D(()=>Promise.resolve().then(()=>_E),void 0,import.meta.url).then(e=>e.default)),n0=B(()=>D(()=>Promise.resolve().then(()=>NT),void 0,import.meta.url).then(e=>e.default)),r0=B(()=>D(()=>import("./DocsAside.42681b3c.js"),["./DocsAside.42681b3c.js","./DocsAside.7397caed.css"],import.meta.url).then(e=>e.default)),o0=B(()=>D(()=>Promise.resolve().then(()=>cE),void 0,import.meta.url).then(e=>e.default)),s0=B(()=>D(()=>import("./DocsPageBottom.0b5ac2bf.js"),["./DocsPageBottom.0b5ac2bf.js","./ProseA.94134036.js","./ProseA.e2976377.css","./EditOnLink.vue.c0346b4a.js","./DocsPageBottom.9f7ccbf0.css"],import.meta.url).then(e=>e.default)),i0=B(()=>D(()=>import("./DocsPageLayout.6115c235.js"),["./DocsPageLayout.6115c235.js","./DocsAside.42681b3c.js","./DocsAside.7397caed.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./Alert.5d2c733c.js","./slot.51812f31.js","./node.676c5e99.js","./Alert.408d0512.css","./DocsPageBottom.0b5ac2bf.js","./ProseA.94134036.js","./ProseA.e2976377.css","./EditOnLink.vue.c0346b4a.js","./DocsPageBottom.9f7ccbf0.css","./DocsPrevNext.2f099473.js","./DocsPrevNext.0d80e373.css","./DocsToc.c4eb6326.js","./DocsTocLinks.d6043a0c.js","./DocsTocLinks.310b9647.css","./DocsToc.855ff635.css","./DocsPageLayout.2ba2acb9.css"],import.meta.url).then(e=>e.default)),a0=B(()=>D(()=>import("./DocsPrevNext.2f099473.js"),["./DocsPrevNext.2f099473.js","./DocsPrevNext.0d80e373.css"],import.meta.url).then(e=>e.default)),c0=B(()=>D(()=>import("./DocsToc.c4eb6326.js"),["./DocsToc.c4eb6326.js","./DocsTocLinks.d6043a0c.js","./DocsTocLinks.310b9647.css","./DocsToc.855ff635.css"],import.meta.url).then(e=>e.default)),l0=B(()=>D(()=>import("./DocsTocLinks.d6043a0c.js"),["./DocsTocLinks.d6043a0c.js","./DocsTocLinks.310b9647.css"],import.meta.url).then(e=>e.default)),u0=B(()=>D(()=>import("./EditOnLink.81158194.js"),["./EditOnLink.81158194.js","./EditOnLink.vue.c0346b4a.js"],import.meta.url).then(e=>e.default)),f0=B(()=>D(()=>import("./SourceLink.18b01e12.js"),["./SourceLink.18b01e12.js","./ProseP.b61fc7b8.js","./ProseP.945916cd.css"],import.meta.url).then(e=>e.default)),d0=B(()=>D(()=>import("./ProseA.94134036.js"),["./ProseA.94134036.js","./ProseA.e2976377.css"],import.meta.url).then(e=>e.default)),h0=B(()=>D(()=>import("./ProseBlockquote.6dfb0ac0.js"),["./ProseBlockquote.6dfb0ac0.js","./ProseBlockquote.87ef1443.css"],import.meta.url).then(e=>e.default)),p0=B(()=>D(()=>import("./ProseCode.e6337228.js"),["./ProseCode.e6337228.js","./ProseCode.60d59d51.css"],import.meta.url).then(e=>e.default)),m0=B(()=>D(()=>import("./ProseCodeInline.ce59fb31.js"),["./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css"],import.meta.url).then(e=>e.default)),g0=B(()=>D(()=>import("./ProseEm.3f888023.js"),["./ProseEm.3f888023.js","./ProseEm.26a085fc.css"],import.meta.url).then(e=>e.default)),y0=B(()=>D(()=>import("./ProseH1.465cebbd.js"),["./ProseH1.465cebbd.js","./ProseH1.4070ea3e.css"],import.meta.url).then(e=>e.default)),_0=B(()=>D(()=>import("./ProseH2.18d47a86.js"),["./ProseH2.18d47a86.js","./ProseH2.df45a763.css"],import.meta.url).then(e=>e.default)),v0=B(()=>D(()=>import("./ProseH3.b6b2e5d1.js"),["./ProseH3.b6b2e5d1.js","./ProseH3.88c2d983.css"],import.meta.url).then(e=>e.default)),b0=B(()=>D(()=>import("./ProseH4.407e72c2.js"),["./ProseH4.407e72c2.js","./ProseH4.5b64d6f8.css"],import.meta.url).then(e=>e.default)),w0=B(()=>D(()=>import("./ProseH5.b8fecace.js"),["./ProseH5.b8fecace.js","./ProseH5.79b89231.css"],import.meta.url).then(e=>e.default)),E0=B(()=>D(()=>import("./ProseH6.3b25caf1.js"),["./ProseH6.3b25caf1.js","./ProseH6.56de6cba.css"],import.meta.url).then(e=>e.default)),C0=B(()=>D(()=>import("./ProseHr.e1825b32.js"),["./ProseHr.e1825b32.js","./ProseHr.c7c78bbe.css"],import.meta.url).then(e=>e.default)),T0=B(()=>D(()=>import("./ProseImg.f7a1a5e6.js"),["./ProseImg.f7a1a5e6.js","./ProseImg.018721e2.css"],import.meta.url).then(e=>e.default)),P0=B(()=>D(()=>import("./ProseLi.68e30a8e.js"),["./ProseLi.68e30a8e.js","./ProseLi.ac05b421.css"],import.meta.url).then(e=>e.default)),x0=B(()=>D(()=>import("./ProseOl.9d7ce068.js"),["./ProseOl.9d7ce068.js","./ProseOl.5ddab164.css"],import.meta.url).then(e=>e.default)),S0=B(()=>D(()=>import("./ProseP.b61fc7b8.js"),["./ProseP.b61fc7b8.js","./ProseP.945916cd.css"],import.meta.url).then(e=>e.default)),A0=B(()=>D(()=>import("./ProseStrong.f0970c03.js"),["./ProseStrong.f0970c03.js","./ProseStrong.263d77e1.css"],import.meta.url).then(e=>e.default)),R0=B(()=>D(()=>import("./ProseTable.dec9e2a1.js"),["./ProseTable.dec9e2a1.js","./ProseTable.c65fbffe.css"],import.meta.url).then(e=>e.default)),I0=B(()=>D(()=>import("./ProseTbody.5fd2a0b2.js"),[],import.meta.url).then(e=>e.default)),k0=B(()=>D(()=>import("./ProseTd.41ebe51f.js"),["./ProseTd.41ebe51f.js","./ProseTd.b09a068a.css"],import.meta.url).then(e=>e.default)),O0=B(()=>D(()=>import("./ProseTh.c2582e0d.js"),["./ProseTh.c2582e0d.js","./ProseTh.cb34fc46.css"],import.meta.url).then(e=>e.default)),L0=B(()=>D(()=>import("./ProseThead.beac4890.js"),["./ProseThead.beac4890.js","./ProseThead.332c0b8a.css"],import.meta.url).then(e=>e.default)),$0=B(()=>D(()=>import("./ProseTr.8742a66a.js"),["./ProseTr.8742a66a.js","./ProseTr.65bec588.css"],import.meta.url).then(e=>e.default)),M0=B(()=>D(()=>import("./ProseUl.cb49d7b7.js"),["./ProseUl.cb49d7b7.js","./ProseUl.c9c63ec7.css"],import.meta.url).then(e=>e.default)),N0=B(()=>D(()=>import("./Alert.5d2c733c.js"),["./Alert.5d2c733c.js","./slot.51812f31.js","./node.676c5e99.js","./Alert.408d0512.css"],import.meta.url).then(e=>e.default)),D0=B(()=>D(()=>import("./Badge.78c87494.js"),["./Badge.78c87494.js","./slot.51812f31.js","./node.676c5e99.js","./Badge.bd8fb886.css"],import.meta.url).then(e=>e.default)),H0=B(()=>D(()=>import("./ButtonLink.23e0d758.js"),["./ButtonLink.23e0d758.js","./slot.51812f31.js","./node.676c5e99.js","./ButtonLink.c4905621.css"],import.meta.url).then(e=>e.default)),F0=B(()=>D(()=>import("./Callout.fd7477fb.js"),["./Callout.fd7477fb.js","./slot.51812f31.js","./node.676c5e99.js","./Callout.c1f75b95.css"],import.meta.url).then(e=>e.default)),j0=B(()=>D(()=>import("./CodeBlock.8933957c.js"),["./CodeBlock.8933957c.js","./CodeBlock.e43dab4c.css"],import.meta.url).then(e=>e.default)),B0=B(()=>D(()=>import("./CodeGroup.84e49b07.js"),["./CodeGroup.84e49b07.js","./TabsHeader.9f8ec2e7.js","./TabsHeader.56d3bbc7.css","./CodeGroup.eba43c0e.css"],import.meta.url).then(e=>e.default)),V0=B(()=>D(()=>Promise.resolve().then(()=>HT),void 0,import.meta.url).then(e=>e.default)),z0=B(()=>D(()=>import("./CopyButton.f7d2fa81.js"),[],import.meta.url).then(e=>e.default)),U0=B(()=>D(()=>import("./List.8aa226e2.js"),["./List.8aa226e2.js","./MDCSlot.44237027.js","./node.676c5e99.js","./List.e98a0c25.css"],import.meta.url).then(e=>e.default)),K0=B(()=>D(()=>import("./NuxtImg.c84b30c3.js"),["./NuxtImg.c84b30c3.js","./NuxtImg.vue.aab88a57.js"],import.meta.url).then(e=>e.default)),W0=B(()=>D(()=>import("./Props.3df956ed.js"),["./Props.3df956ed.js","./ProseTh.c2582e0d.js","./ProseTh.cb34fc46.css","./ProseTr.8742a66a.js","./ProseTr.65bec588.css","./ProseThead.beac4890.js","./ProseThead.332c0b8a.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./ProseTd.41ebe51f.js","./ProseTd.b09a068a.css","./ProseTbody.5fd2a0b2.js","./ProseTable.dec9e2a1.js","./ProseTable.c65fbffe.css"],import.meta.url).then(e=>e.default)),q0=B(()=>D(()=>import("./Sandbox.786aacf2.js"),["./Sandbox.786aacf2.js","./TabsHeader.9f8ec2e7.js","./TabsHeader.56d3bbc7.css","./Sandbox.cca703cd.css"],import.meta.url).then(e=>e.default)),Q0=B(()=>D(()=>import("./TabsHeader.9f8ec2e7.js"),["./TabsHeader.9f8ec2e7.js","./TabsHeader.56d3bbc7.css"],import.meta.url).then(e=>e.default)),J0=B(()=>D(()=>import("./Terminal.ab57a6bc.js"),["./Terminal.ab57a6bc.js","./Terminal.54103379.css"],import.meta.url).then(e=>e.default)),Z0=B(()=>D(()=>import("./VideoPlayer.0721ce38.js"),["./VideoPlayer.0721ce38.js","./NuxtImg.vue.aab88a57.js","./VideoPlayer.afedae8c.css"],import.meta.url).then(e=>e.default)),G0=B(()=>D(()=>import("./IconCodeSandBox.8985aed1.js"),[],import.meta.url).then(e=>e.default)),Y0=B(()=>D(()=>import("./IconDocus.277086a0.js"),[],import.meta.url).then(e=>e.default)),X0=B(()=>D(()=>import("./IconNuxt.003ced8d.js"),[],import.meta.url).then(e=>e.default)),eb=B(()=>D(()=>import("./IconNuxtContent.003ced8d.js"),[],import.meta.url).then(e=>e.default)),tb=B(()=>D(()=>import("./IconNuxtLabs.83def0da.js"),[],import.meta.url).then(e=>e.default)),nb=B(()=>D(()=>import("./IconNuxtStudio.6ad88ab7.js"),["./IconNuxtStudio.6ad88ab7.js","./IconNuxtStudio.34390cd8.css"],import.meta.url).then(e=>e.default)),rb=B(()=>D(()=>import("./IconStackBlitz.99329b01.js"),[],import.meta.url).then(e=>e.default)),ob=B(()=>D(()=>import("./IconVueTelescope.2beda973.js"),[],import.meta.url).then(e=>e.default)),sb=B(()=>D(()=>import("./BlockHero.5e04f7f2.js"),["./BlockHero.5e04f7f2.js","./ButtonLink.23e0d758.js","./slot.51812f31.js","./node.676c5e99.js","./ButtonLink.c4905621.css","./Terminal.ab57a6bc.js","./Terminal.54103379.css","./VideoPlayer.0721ce38.js","./NuxtImg.vue.aab88a57.js","./VideoPlayer.afedae8c.css","./BlockHero.c90d4fc3.css"],import.meta.url).then(e=>e.default)),ib=B(()=>D(()=>import("./Card.a46436ac.js"),["./Card.a46436ac.js","./slot.51812f31.js","./node.676c5e99.js","./Card.aa172920.css"],import.meta.url).then(e=>e.default)),ab=B(()=>D(()=>import("./CardGrid.7053b1eb.js"),["./CardGrid.7053b1eb.js","./slot.51812f31.js","./node.676c5e99.js","./CardGrid.4bc87347.css"],import.meta.url).then(e=>e.default)),cb=B(()=>D(()=>import("./VoltaBoard.bc1497b6.js"),["./VoltaBoard.bc1497b6.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default)),lb=B(()=>D(()=>import("./ComponentPlayground.eab48243.js"),["./ComponentPlayground.eab48243.js","./ComponentPlaygroundData.701e7c5c.js","./TabsHeader.9f8ec2e7.js","./TabsHeader.56d3bbc7.css","./ComponentPlaygroundProps.9f12d381.js","./ProseH4.407e72c2.js","./ProseH4.5b64d6f8.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./Badge.78c87494.js","./slot.51812f31.js","./node.676c5e99.js","./Badge.bd8fb886.css","./ProseP.b61fc7b8.js","./ProseP.945916cd.css","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.181ed5b3.js","./ComponentPlaygroundTokens.vue.4efbe41a.js","./ComponentPlaygroundData.2ba66f99.css","./ComponentPlayground.02ad673c.css"],import.meta.url).then(e=>e.default)),ub=B(()=>D(()=>import("./ComponentPlaygroundData.701e7c5c.js"),["./ComponentPlaygroundData.701e7c5c.js","./TabsHeader.9f8ec2e7.js","./TabsHeader.56d3bbc7.css","./ComponentPlaygroundProps.9f12d381.js","./ProseH4.407e72c2.js","./ProseH4.5b64d6f8.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./Badge.78c87494.js","./slot.51812f31.js","./node.676c5e99.js","./Badge.bd8fb886.css","./ProseP.b61fc7b8.js","./ProseP.945916cd.css","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.181ed5b3.js","./ComponentPlaygroundTokens.vue.4efbe41a.js","./ComponentPlaygroundData.2ba66f99.css"],import.meta.url).then(e=>e.default)),fb=B(()=>D(()=>import("./ComponentPlaygroundProps.9f12d381.js"),["./ComponentPlaygroundProps.9f12d381.js","./ProseH4.407e72c2.js","./ProseH4.5b64d6f8.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./Badge.78c87494.js","./slot.51812f31.js","./node.676c5e99.js","./Badge.bd8fb886.css","./ProseP.b61fc7b8.js","./ProseP.945916cd.css","./ComponentPlaygroundProps.54f42c7a.css"],import.meta.url).then(e=>e.default)),db=B(()=>D(()=>import("./ComponentPlaygroundSlots.a71310cd.js"),["./ComponentPlaygroundSlots.a71310cd.js","./ComponentPlaygroundSlots.vue.181ed5b3.js"],import.meta.url).then(e=>e.default)),hb=B(()=>D(()=>import("./ComponentPlaygroundTokens.000c6991.js"),["./ComponentPlaygroundTokens.000c6991.js","./ComponentPlaygroundTokens.vue.4efbe41a.js"],import.meta.url).then(e=>e.default)),pb=B(()=>D(()=>import("./PreviewLayout.68a4ab5f.js"),["./PreviewLayout.68a4ab5f.js","./PreviewLayout.05ed95ae.css"],import.meta.url).then(e=>e.default)),mb=B(()=>D(()=>import("./TokensPlayground.1993f1fc.js"),[],import.meta.url).then(e=>e.default)),gb=B(()=>D(()=>import("./ContentDoc.5f6b7391.js"),["./ContentDoc.5f6b7391.js","./ContentRenderer.3ec87499.js","./ContentRendererMarkdown.vue.41c2c305.js","./ContentQuery.3e783c0e.js"],import.meta.url).then(e=>e.default)),yb=B(()=>D(()=>import("./ContentList.6e5b3a19.js"),["./ContentList.6e5b3a19.js","./ContentQuery.3e783c0e.js"],import.meta.url).then(e=>e.default)),_b=B(()=>D(()=>import("./ContentNavigation.5611a04e.js"),[],import.meta.url).then(e=>e.default)),vb=B(()=>D(()=>import("./ContentQuery.3e783c0e.js"),[],import.meta.url).then(e=>e.default)),bb=B(()=>D(()=>import("./ContentRenderer.3ec87499.js"),["./ContentRenderer.3ec87499.js","./ContentRendererMarkdown.vue.41c2c305.js"],import.meta.url).then(e=>e.default)),wb=B(()=>D(()=>import("./ContentRendererMarkdown.805a6967.js"),["./ContentRendererMarkdown.805a6967.js","./ContentRendererMarkdown.vue.41c2c305.js"],import.meta.url).then(e=>e.default)),Eb=B(()=>D(()=>import("./ContentSlot.e99bc746.js"),["./ContentSlot.e99bc746.js","./MDCSlot.44237027.js","./node.676c5e99.js"],import.meta.url).then(e=>e.default)),Cb=B(()=>D(()=>import("./DocumentDrivenEmpty.cecc2449.js"),[],import.meta.url).then(e=>e.default)),Tb=B(()=>D(()=>import("./Markdown.3d3acc29.js"),["./Markdown.3d3acc29.js","./ContentSlot.e99bc746.js","./MDCSlot.44237027.js","./node.676c5e99.js"],import.meta.url).then(e=>e.default)),Pb=B(()=>D(()=>import("./ProsePre.64f579a8.js"),["./ProsePre.64f579a8.js","./ProseCode.e6337228.js","./ProseCode.60d59d51.css","./ProsePre.e63e49c6.css"],import.meta.url).then(e=>e.default)),xb=B(()=>D(()=>import("./ProseScript.745d8058.js"),[],import.meta.url).then(e=>e.default)),Sb=B(()=>D(()=>Promise.resolve().then(()=>eE),void 0,import.meta.url).then(e=>e.default)),Ab=B(()=>D(()=>import("./IconCSS.a9a03952.js"),["./IconCSS.a9a03952.js","./IconCSS.b5e1ed11.css"],import.meta.url).then(e=>e.default)),Rb=[["AppDocSearch",zv],["AppFooter",Uv],["AppHeader",Kv],["AppHeaderDialog",Wv],["AppHeaderLogo",qv],["AppHeaderNavigation",Qv],["AppLayout",Jv],["AppLoadingBar",Zv],["AppSearch",Gv],["AppSocialIcons",Yv],["DocumentDrivenNotFound",Xv],["Ellipsis",e0],["Logo",t0],["ThemeSelect",n0],["DocsAside",r0],["DocsAsideTree",o0],["DocsPageBottom",s0],["DocsPageLayout",i0],["DocsPrevNext",a0],["DocsToc",c0],["DocsTocLinks",l0],["EditOnLink",u0],["SourceLink",f0],["ProseA",d0],["ProseBlockquote",h0],["ProseCode",p0],["ProseCodeInline",m0],["ProseEm",g0],["ProseH1",y0],["ProseH2",_0],["ProseH3",v0],["ProseH4",b0],["ProseH5",w0],["ProseH6",E0],["ProseHr",C0],["ProseImg",T0],["ProseLi",P0],["ProseOl",x0],["ProseP",S0],["ProseStrong",A0],["ProseTable",R0],["ProseTbody",I0],["ProseTd",k0],["ProseTh",O0],["ProseThead",L0],["ProseTr",$0],["ProseUl",M0],["Alert",N0],["Badge",D0],["ButtonLink",H0],["Callout",F0],["CodeBlock",j0],["CodeGroup",B0],["Container",V0],["CopyButton",z0],["List",U0],["NuxtImg",K0],["Props",W0],["Sandbox",q0],["TabsHeader",Q0],["Terminal",J0],["VideoPlayer",Z0],["IconCodeSandBox",G0],["IconDocus",Y0],["IconNuxt",X0],["IconNuxtContent",eb],["IconNuxtLabs",tb],["IconNuxtStudio",nb],["IconStackBlitz",rb],["IconVueTelescope",ob],["BlockHero",sb],["Card",ib],["CardGrid",ab],["VoltaBoard",cb],["ComponentPlayground",lb],["ComponentPlaygroundData",ub],["ComponentPlaygroundProps",fb],["ComponentPlaygroundSlots",db],["ComponentPlaygroundTokens",hb],["PreviewLayout",pb],["TokensPlayground",mb],["ContentDoc",gb],["ContentList",yb],["ContentNavigation",_b],["ContentQuery",vb],["ContentRenderer",bb],["ContentRendererMarkdown",wb],["MDCSlot",Eb],["DocumentDrivenEmpty",Cb],["Markdown",Tb],["ProsePre",Pb],["ProseScript",xb],["Icon",Sb],["IconCSS",Ab]],Ib=Ze({name:"nuxt:global-components",setup(e){for(const[t,n]of Rb)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),ar={default:()=>D(()=>import("./default.7ccbd342.js"),["./default.7ccbd342.js","./DocsPageLayout.6115c235.js","./DocsAside.42681b3c.js","./DocsAside.7397caed.css","./ProseCodeInline.ce59fb31.js","./ProseCodeInline.21ce328c.css","./Alert.5d2c733c.js","./slot.51812f31.js","./node.676c5e99.js","./Alert.408d0512.css","./DocsPageBottom.0b5ac2bf.js","./ProseA.94134036.js","./ProseA.e2976377.css","./EditOnLink.vue.c0346b4a.js","./DocsPageBottom.9f7ccbf0.css","./DocsPrevNext.2f099473.js","./DocsPrevNext.0d80e373.css","./DocsToc.c4eb6326.js","./DocsTocLinks.d6043a0c.js","./DocsTocLinks.310b9647.css","./DocsToc.855ff635.css","./DocsPageLayout.2ba2acb9.css"],import.meta.url).then(e=>e.default||e),page:()=>D(()=>import("./page.5c669c5e.js"),["./page.5c669c5e.js","./page.41b64923.css"],import.meta.url).then(e=>e.default||e)},kb=Ze({name:"nuxt:prefetch",setup(e){const t=ct();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof ar[r]=="function"&&await ar[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,a,c,l;if(Yt(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((a=r==null?void 0:r.meta)==null?void 0:a.middleware)?(c=r==null?void 0:r.meta)==null?void 0:c.middleware:[(l=r==null?void 0:r.meta)==null?void 0:l.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof yr[u]=="function"&&yr[u]();o&&typeof ar[o]=="function"&&ar[o]()})}}),Ob=["AppDocSearch","AppFooter","AppHeader","AppHeaderDialog","AppHeaderLogo","AppHeaderNavigation","AppLayout","AppLoadingBar","AppSearch","AppSocialIcons","DocumentDrivenNotFound","Ellipsis","Logo","ThemeSelect","DocsAside","DocsAsideTree","DocsPageBottom","DocsPageLayout","DocsPrevNext","DocsToc","DocsTocLinks","EditOnLink","SourceLink","ProseA","ProseBlockquote","ProseCode","ProseCodeInline","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl","ProseCodeCopyButton","Alert","Badge","ButtonLink","Callout","CodeBlock","CodeGroup","Container","CopyButton","List","NuxtImg","Props","Sandbox","TabsHeader","Terminal","VideoPlayer","IconCodeSandBox","IconDocus","IconNuxt","IconNuxtContent","IconNuxtLabs","IconNuxtStudio","IconStackBlitz","IconVueTelescope","BlockHero","Card","CardGrid","VoltaBoard","ComponentPlayground","ComponentPlaygroundData","ComponentPlaygroundProps","ComponentPlaygroundSlots","ComponentPlaygroundTokens","PreviewLayout","TokensPlayground","ContentPreviewMode","ContentDoc","ContentList","ContentNavigation","ContentQuery","ContentRenderer","ContentRendererMarkdown","MDCSlot","DocumentDrivenEmpty","Markdown","ProsePre","ProseScript","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtPicture","ColorScheme","MDC","MDCRenderer","MDCSlot","Icon","IconCSS","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body"],Lb=/\d/,$b=["-","_","/","."];function Mb(e=""){if(!Lb.test(e))return e.toUpperCase()===e}function Ff(e,t){const n=t??$b,r=[];if(!e||typeof e!="string")return r;let o="",s,i;for(const a of e){const c=n.includes(a);if(c===!0){r.push(o),o="",s=void 0;continue}const l=Mb(a);if(i===!1){if(s===!1&&l===!0){r.push(o),o=a,s=l;continue}if(s===!0&&l===!1&&o.length>1){const u=o[o.length-1];r.push(o.slice(0,Math.max(0,o.length-1))),o=u+a,s=l;continue}}o+=a,s=l,i=c}return r.push(o),r}function Nb(e){return e?e[0].toUpperCase()+e.slice(1):""}function Db(e){return e?(Array.isArray(e)?e:Ff(e)).map(t=>Nb(t)).join(""):""}function li(e,t){return e?(Array.isArray(e)?e:Ff(e)).map(n=>n.toLowerCase()).join(t??"-"):""}const Sn=()=>{const e=At("dd-pages",()=>It(Wt({}))),t=At("dd-surrounds",()=>It(Wt({}))),n=At("dd-navigation"),r=At("dd-globals",()=>It(Wt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Hr=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Sn(),o=ee(()=>_n(at().path)),s=ee(()=>t.value[o.value]),i=ee(()=>n.value[o.value]),a=ee(()=>{var h,m;return(m=(h=s==null?void 0:s.value)==null?void 0:h.body)==null?void 0:m.toc}),c=ee(()=>{var h;return(h=s.value)==null?void 0:h._type}),l=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.layout}),f=ee(()=>{var h;return(h=i.value)==null?void 0:h[1]}),d=ee(()=>{var h;return(h=i.value)==null?void 0:h[0]});return{globals:r,navigation:e,surround:i,page:s,excerpt:l,toc:a,type:c,layout:u,next:f,prev:d}},jf=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=jf(t);if(n)return n}},Bf=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=Bf(e,n.children);if(r)return r}}},Vf=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=Vf(e,n.children);if(r)return r}}},Hb=(e,t,n)=>{let r;const o=(s,i)=>{for(const a of i)if(!(s!=="/"&&a._path==="/")){if(s!=null&&s.startsWith(a._path)&&a[t]&&(r=a[t]),a._path===s)return;a.children&&o(s,a.children)}};return o(e,n),r},oa=()=>({navBottomLink:jf,navDirFromPath:Bf,navPageFromPath:Vf,navKeyFromPath:Hb});function sa(e){return JSON.stringify(e,Fb)}function Fb(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const zf=e=>{let t=sa(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},ia=()=>({isEnabled:()=>{const r=at().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||so("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>so("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{so("previewToken").value=r,at().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),Ro=e=>Yu(e,Je().public.content.api.baseURL),Uf=()=>{const{experimental:e}=Je().public.content;return e.clientDB?!0:ia().isEnabled()},Qc=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),aa=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),dP=e=>t=>e&&e.length?aa(t,n=>!e.includes(n)):t,hP=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),Kf=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},pP=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=Kf(e);return aa(t,o=>!r.includes(o)&&!n.includes(o[0]))},mP=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=Kf(e);return aa(t,o=>r.includes(o)||n.includes(o[0]))},gP=(e,t)=>{const n=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),r=Object.keys(t).filter(o=>!o.startsWith("$"));for(const o of r)e=e.sort((s,i)=>{const a=[Qc(s,o),Qc(i,o)].map(c=>{if(c!==null)return c instanceof Date?c.toISOString():c});return t[o]===-1&&a.reverse(),n.compare(a[0],a[1])});return e},yP=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Tt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],jb=["sort","where","only","without"];function Bb(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=jb.includes(i)?Tt(t.initialParams[i]):t.initialParams[i];const r=(i,a=c=>c)=>(...c)=>(n[i]=a(...c),s),o=i=>{var a;return t.legacy?i!=null&&i.surround?i.surround:i&&(i!=null&&i.dirConfig&&(i.result={_path:(a=i.dirConfig)==null?void 0:a._path,...i.result,_dir:i.dirConfig}),i!=null&&i._path||Array.isArray(i)||!Object.prototype.hasOwnProperty.call(i,"result")?i:i==null?void 0:i.result):i},s={params:()=>({...n,...n.where?{where:[...Tt(n.where)]}:{},...n.sort?{sort:[...Tt(n.sort)]}:{}}),only:r("only",Tt),without:r("without",Tt),where:r("where",i=>[...Tt(n.where),...Tt(i)]),sort:r("sort",i=>[...Tt(n.sort),...Tt(i)]),limit:r("limit",i=>parseInt(String(i),10)),skip:r("skip",i=>parseInt(String(i),10)),find:()=>e(s).then(o),findOne:()=>e(r("first")(!0)).then(o),count:()=>e(r("count")(!0)).then(o),locale:i=>s.where({_locale:i}),withSurround:r("surround",(i,a)=>({query:i,...a})),withDirConfig:()=>r("dirConfig")(!0)};return t.legacy&&(s.findSurround=(i,a)=>s.withSurround(i,a).find().then(o)),s}const Vb=()=>async e=>{const{content:t}=Je().public,n=e.params(),r=t.experimental.stripQueryParameters?Ro(`/query/${`${So(n)}.${t.integrity}`}/${zf(n)}.json`):Ro(`/query/${So(n)}.${t.integrity}.json`);if(Uf())return(await D(()=>import("./client-db.59c41193.js"),[],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:sa(n),previewToken:ia().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function ao(e,...t){const{content:n}=Je().public,r=Bb(Vb(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=Js(en(e,...t)));const s=r.params;return r.params=()=>{var a,c,l;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:_n(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(a=i.sort)!=null&&a.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((l=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&l._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const zb=async e=>{const{content:t}=Je().public;typeof(e==null?void 0:e.params)!="function"&&(e=ao(e));const n=e.params(),r=t.experimental.stripQueryParameters?Ro(`/navigation/${`${So(n)}.${t.integrity}`}/${zf(n)}.json`):Ro(`/navigation/${So(n)}.${t.integrity}.json`);if(Uf())return(await D(()=>import("./client-db.59c41193.js"),[],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:sa(n),previewToken:ia().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},Ub=Ze(e=>{var l,u,f,d;const t=(u=(l=Je())==null?void 0:l.public)==null?void 0:u.content.documentDriven,n=(d=(f=Je())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Sn(),a=(h,m,p,_)=>{var v;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((v=h.matched[0].meta)!=null&&v.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:b}=oa(),y=b(m._path,"layout",p);if(y)return y}if(t.layoutFallbacks&&_){let b;for(const y of t.layoutFallbacks)if(_[y]&&_[y].layout){b=_[y].layout;break}if(b)return b}return"default"},c=async(h,m=!1)=>{e.callHook("content:document-driven:start",{route:h,dedup:m});const p=h.meta.documentDriven||{};if(h.meta.documentDriven===!1)return;const _=_n(h.path),v=[];if(t.navigation&&p.navigation!==!1){const b=()=>{const{navigation:y}=Sn();return y.value&&!m?y.value:zb().then(g=>(y.value=g,g)).catch(()=>null)};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.globals){const b=()=>{const{globals:y}=Sn();if(typeof t.globals=="object"&&Array.isArray(t.globals)){console.log("Globals must be a list of keys with QueryBuilderParams as a value.");return}return Promise.all(Object.entries(t.globals).map(([g,P])=>{if(!m&&y.value[g])return y.value[g];let S="findOne";return P!=null&&P.type&&(S=P.type),ao(P)[S]().catch(()=>null)})).then(g=>g.reduce((P,S,A)=>{const I=Object.keys(t.globals)[A];return P[I]=S,P},{}))};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.page&&p.page!==!1){let b={_path:_};typeof p.page=="string"&&(b={_path:p.page}),typeof p.page=="object"&&(b=p.page);const y=()=>{const{pages:g}=Sn();return!m&&g.value[_]&&g.value[_]._path===_?g.value[_]:ao().where(b).findOne().catch(()=>null)};v.push(y)}else v.push(()=>Promise.resolve(null));if(t.surround&&p.surround!==!1){let b=_;["string","object"].includes(typeof p.page)&&(b=p.page),["string","object"].includes(typeof p.surround)&&(b=p.surround);const y=()=>{const{surrounds:g}=Sn();return!m&&g.value[_]?g.value[_]:ao().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(b).catch(()=>null)};v.push(y)}else v.push(()=>Promise.resolve(null));return await Promise.all(v.map(b=>b())).then(async([b,y,g,P])=>{var A,I;b&&(r.value=b),y&&(s.value=y),P&&(i.value[_]=P);const S=(g==null?void 0:g.redirect)||((I=(A=g==null?void 0:g._dir)==null?void 0:A.navigation)==null?void 0:I.redirect);if(S)return o.value[_]=g,S;if(g){const H=a(h,g,b,y),R=ar[H];R&&typeof R=="function"&&await R(),h.meta.layout=H,g.layout=H}o.value[_]=g,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:g,navigation:b,globals:y,surround:P})})};{const h=ct();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!Yt(m)){const p=h.resolve(m);p.matched.length>0&&c(p)}}),e.hooks.hook("content:document-driven:finish",({page:m})=>{var p;(p=m==null?void 0:m.body)!=null&&p.children&&Wf(m.body.children)})}Ly(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const _=_n(h.path);o.value[_]&&(h.meta.layout=o.value[_].layout)}return}const p=await c(h,!1);if(p)return Yt(p)?af(e,vf,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(at(),!0))});function Wf(e){for(const t of e)if(t.children&&Wf(t.children),t.type==="element"&&t.tag){const n=Db(t.tag);for(const r of["Prose"+n,n])Ob.includes(r)&&l_(r)}}const Kb=Ze(e=>{const t=Je().public.studio||{},n=at(),r=so("previewToken",{sameSite:"none",secure:!0}),o=At("studio-client-db",()=>null);async function s(){const i=await D(()=>import("./useStudio.c0a5304d.js"),["./useStudio.c0a5304d.js","./useStudio.37ff8fdd.css"],import.meta.url).then(l=>l.useStudio),{mountPreviewUI:a,initiateIframeCommunication:c}=i();a(),c()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&(r.value=String(n.query.preview)),window.sessionStorage.setItem("previewToken",String(r.value)),e.hook("content:storage",i=>{o.value=i}),e.hook("app:mounted",async()=>{await s()})}});let ca=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");const qf=new RegExp("\\{([^}]+)\\}","g"),Wb="@dark",qb="@light",Qb="@initial";function Jc(e,t,n,r="."){typeof t=="string"&&(t=t.split(r));const o=t.length-1;for(let i=0;it.includes(i))){r[o]={value:e[o]};continue}r[o]=Jf(e[o],t,n)}}return r}function Jb(e={},t={}){const n={key:"attributes.variable",onNotFound:!1,...t};function r(o=void 0,s){if(!o)return M(e);const i={...n,...s},{key:a,onNotFound:c}=i,l=Io(M(e),o);if(!l&&typeof c=="function"){c(o,i);return}return a?l&&(l[a]?l[a]:Io(l,a)):l}return r.bind(this)}function Zf(e){return Array.isArray(e)&&(e=e.join("-")),e.charAt(0)==="{"&&e.charAt(e.length-1)==="}"&&(e=e.substr(1,e.length-2)),`--${e.split(".").join("-")}`}function Zb(e,t,n,r,o=[],s,i){var c;const a=Yb(e,t,r,s,i);return a||((c=s==null?void 0:s.utils)!=null&&c[e]?typeof s.utils[e]=="function"?s.utils[e](t):t?s.utils[e]:{}:(t=Gb(e,t,o,s,i),{[e]:t}))}function Gb(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>Zc(e,s,n,r,o)).join(","):t=Zc(e,t,n,r,o)),t}function Zc(e,t,n,r,o){return typeof t=="number"?t:(t.match(qf)&&(t=Gf(e,t,n,r,o)),t==="{}"?"":t)}function Gf(e,t,n,r,o){return typeof t!="string"||(t=t.replace(qf,(s,i)=>{const a=Zf(i),c=`var(${a})`;if(n.includes(a))return c;const l=r.$tokens(i,{key:void 0,loc:o}),u=typeof l=="string"?l:(l==null?void 0:l.variable)||(l==null?void 0:l.value);return u||c})),t}function Yb(e,t,n,r,o){if(e.startsWith("@")){const s=a=>{a=r.options.colorSchemeMode==="class"?`:root.${a}`:`@media (prefers-color-scheme: ${a})`;const c=a.startsWith("@media");return r!=null&&r.runtime?{"@media":{[a]:t}}:{[c?a:`${a} &`]:t}};if(e===Wb)return s("dark");if(e===qb)return s("light");if(e===Qb){const a=r.$tokens("media.initial",{key:"value",onNotFound:!1,loc:o});return{[`@media${a?` ${a}`:""}`]:t}}const i=r.$tokens("media",{key:void 0,loc:o});if(i){const a=e.replace("@","");if(i[a])return{[`@media ${i[a].value}`]:t}}return{[e]:t}}}function Xb(e,t,n,r){var i;let o="";if(e==="dark"||e==="light")r==="class"?o=`:root.${e}`:o=`(prefers-color-scheme: ${e})`;else if(e!=="initial"&&n){const a=(i=n==null?void 0:n.media)==null?void 0:i[e];a&&(o=a.value)}let s;return o?o.startsWith(".")?s=`@media { :root${o} {`:o.startsWith(":root")?s=`@media { ${o} {`:s=`@media ${o} { :root {`:s="@media { :root {",`${`${`${s}--pinceau-mq: ${String(e)}; ${t}`} } }`} +`}const Gc=/\s*,\s*(?![^()]*\))/,e1=(e,t)=>e.reduce((n,r)=>(n.push(...t.map(o=>o.includes("&")?o.replace(/&/g,/[ +>|~]/.test(r)&&/&.*&/.test(o)?`:is(${r})`:r):`${r} ${o}`)),n),[]),{prototype:{toString:t1}}=Object,n1=(e,t=void 0)=>{const n=new WeakSet,r=(s,i,a,c,l,u,f)=>{for(let d=0;d{let u="";for(const f in s){const d=f.charCodeAt(0)===64,h=f.charCodeAt(0)===45&&f.charCodeAt(1)===45;for(const m of d&&Array.isArray(s[f])?s[f]:[s[f]]){if(t&&(f!==c||m!==l)){const _=t(f,m,s,i);if(_!==null){u+=typeof _=="object"&&_?o(_,i,a,f,m):_??"";continue}}if(typeof m=="object"&&m&&m.toString===t1){n.has(i)&&(n.delete(i),u+="}");const _=Object(f);let v;d?(v=i,u+=o(m,v,a.concat(_))):(v=i.length?e1(i,f.split(Gc)):f.split(Gc),u+=o(m,v,a)),n.has(_)&&(n.delete(_),u+="}"),n.has(v)&&(n.delete(v),u+="}")}else u=r(u,i,a,f,m,d,h)}}return u};return o(e,[],[])},Yf=".phy[--]";function r1(e,t={},n,r){const o=le(),s=le(t),i={},a=(m,p)=>n1(m,(_,v,b,y)=>Zb(_,v,b,y,[],{$tokens:e,utils:s.value,options:{colorSchemeMode:n,runtime:!0}},p));function c(){const m=globalThis||window;let p,_;if(m&&m.document){const v=`pinceau-runtime${r?`-${r}`:""}`,b=m.document;if(p=b.querySelector(`style#${v}`),!p){const y=b.createElement("style");y.id=v,y.type="text/css",p=b.head.appendChild(y)}_=b.querySelector(`style#pinceau-runtime-hydratable${r?`-${r}`:""}`)}return o.value=(p==null?void 0:p.sheet)||o1(),_?l(_):void 0}function l(m){var _,v;const p={};for(const b of Object.entries(((_=m==null?void 0:m.sheet)==null?void 0:_.cssRules)||((v=o.value)==null?void 0:v.cssRules)||{})){const[y,g]=b,P=s1(g);if(!P||!P.uid)continue;p[P.uid]||(p[P.uid]={});const S=o.value.insertRule(g.cssText,Number(y));p[P.uid][P.type]=o.value.cssRules.item(S)}return m&&m.remove(),p}function u(){return o.value?Object.entries(o.value.cssRules).reduce((m,[,p])=>(m+=`${p==null?void 0:p.cssText} `||"",m),""):""}function f(m,p,_,v,b){if(!Object.keys(_).length)return;const y=a({"@media":{[Yf]:{"--puid":`${m}-${p}`},..._}},b);if(!y)return;v&&d(v);const g=o.value.insertRule(y);return o.value.cssRules[g]}function d(m){const p=Object.values(o.value.cssRules).indexOf(m);if(!(typeof p>"u"||isNaN(p)))try{o.value.deleteRule(p)}catch{}}const h=c();return{stringify:a,cache:i,pushDeclaration:f,deleteRule:d,sheet:o,toString:u,hydratableRules:h}}function o1(){return{cssRules:[],insertRule(e,t=this.cssRules.length){return this.cssRules.splice(t,1,{cssText:e}),t},deleteRule(e){delete this.cssRules[e]}}}function s1(e){const t=e.cssRules&&e.cssRules.length?Object.entries(e==null?void 0:e.cssRules).find(([s,i])=>i.selectorText===Yf):void 0;if(!t)return;const n=/--puid:(.*)?-(c|v|p)?/m,[,r,o]=t[1].cssText.match(n);if(r)return{uid:r,type:o}}function i1(e,t,n){var a,c,l;let r;const o=(a=e==null?void 0:e.vnode)==null?void 0:a.el;o&&o.classList?o.classList.forEach(u=>{r||u.startsWith("pc-")&&(r=u.split("pc-")[1])}):r=ca(6);const s=(l=(c=e==null?void 0:e.vnode)==null?void 0:c.type)==null?void 0:l.__scopeId,i={uid:r,componentId:s?`[${s}]`:"",uniqueClassName:`pc-${r}`};return t.value.c=i.uniqueClassName,ee(()=>i)}function a1(e,t={},n){const r=le(),o=le(e||{});t=Object.assign({key:"variable"},t||{});const s=Jb(o,t);let i={};c();function a(p){var _;for(const v of p.styleSheets)if((_=v==null?void 0:v.ownerNode)!=null&&_.textContent.includes("--pinceau-mq"))return v.ownerNode}function c(){var _;const p=globalThis||window;if(p&&p.document){let v=document.querySelector("#pinceau-theme");v||(v=a(document)),r.value=v==null?void 0:v.sheet,r.value&&l((_=r.value)==null?void 0:_.cssRules)}}function l(p){i={},Object.entries(p||{}).forEach(([_,v])=>{var y,g;if((v==null?void 0:v.type)!==4&&!((y=v==null?void 0:v.cssText)!=null&&y.includes("--pinceau-mq")))return!1;let b="initial";(g=v.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm))==null||g.forEach(P=>{var H;const[S,A]=P.replace(";","").split(/:\s(.*)/s);if(S==="--pinceau-mq"){if(b=A,!i[A]){const R=(H=Object.entries((v==null?void 0:v.cssRules)||{}).find(([O,T])=>T==null?void 0:T.cssText.includes(`--pinceau-mq: ${A}`)))==null?void 0:H[1];R&&(i[A]=R)}return}const I=[...S.substring(2).split("-")];Jc(o.value,I,h(I,A,S,b))})})}function u(p){var b;const _=Array.from(new Set(["dark","light",...Object.keys((p==null?void 0:p.media)||{}),...Object.keys(((b=o.value)==null?void 0:b.media)||{})])),v=Jf(p||{},_,!0);Qf(v,(y,g,P)=>f(P,y.value))}function f(p,_,v="initial"){var g;if(typeof _=="object"){Object.entries(_).forEach(([P,S])=>f(p,S,P));return}const b=Zf(p);i!=null&&i[v]||m(v);const y=Gf(void 0,_,[],{$tokens:s});Jc(o.value,p,h(p,y,b,v)),(g=i==null?void 0:i[v])==null||g.style.setProperty(b,y)}function d(p){return ee({get(){return Io(o.value,`${p}.value`)},set(_){f(p,_)}})}function h(p,_,v,b="initial"){const y={value:_,variable:`var(${v})`},g=Io(o.value,p);return g&&!v.startsWith("--media")&&(typeof(g==null?void 0:g.value)=="object"?y.value={...g.value,[b]:_}:y.value={initial:g.value,[b]:_}),y}function m(p){if(i!=null&&i[p])return i==null?void 0:i[p];const _=Xb(p,"",o.value,n),v=r.value.insertRule(_,r.value.cssRules.length);return i[p]=r.value.cssRules.item(v).cssRules[0],i[p]}return{$tokens:s,updateToken:f,updateTheme:u,reactiveToken:d,resolveStylesheet:c,theme:o}}function c1(e,t,n,r){var s,i;let o=(i=(s=n.hydratableRules)==null?void 0:s[e.value.uid])==null?void 0:i.c;ve(()=>t,a=>{a=l1(e.value,a),o=n.pushDeclaration(e.value.uid,"c",a,o,{...r,type:"c"})},{immediate:!o,deep:!0}),Kn(()=>o&&n.deleteRule(o))}function l1(e,t){const n={},r=`.${e.uniqueClassName}${e.componentId}`;if(t&&Object.keys(t).length){n[r]=n[r]||{};for(const[o,s]of Object.entries(t)){const i=M(s);if(o==="css"){n[r]=Object.assign(n[r],i);continue}if(typeof i=="object")for(const[a,c]of Object.entries(i)){const l=M(c);if(!l)continue;a==="initial"&&(n[r]||(n[r]={}),n[r]||(n[r]={}),n[r][`--${o}`]=l);const u=`@${a}`;n[u]||(n[u]={}),n[u][r]||(n[u][r]={}),n[u][r][`--${li(o)}`]=l}else{const a=M(i);a&&(n[r][`--${li(o)}`]=a)}}}return n}const u1=(e,t,n,r,o,s)=>{var l,u;let i=(u=(l=r.hydratableRules)==null?void 0:l[e.value.uid])==null?void 0:u.v;const a=ee(()=>t?d1(e.value,n,t):{}),c=le([]);return ve(a,({cacheId:f,variantsProps:d})=>{let h;if(r.cache[f]){const m=r.cache[f];i=m.rule,h=m.variantClass,m!=null&&m.classes&&(c.value=m.classes),m.count++}else{h=`pv-${ca(6)}`;const{declaration:m,classes:p}=f1(h,e.value,t,d);c.value=p,i=r.pushDeclaration(e.value.uid,"v",m,void 0,{...s,type:"v"}),r.cache[f]={rule:i,variantClass:h,classes:p,count:1}}o.value.v=h},{immediate:!0}),Kn(()=>{var h;const f=a==null?void 0:a.value,d=(h=r.cache)==null?void 0:h[f.cacheId];d&&(d.count--,d.count<=0&&(r.deleteRule(d.rule),delete r.cache[f.cacheId]))}),{variantsClasses:c}};function f1(e,t,n,r){var i,a;let o=[];const s={};if(r&&Object.keys(r).length){const c=`.${e}`;for(const[l,u]of Object.entries(r))if(typeof u=="object")for(const[f,d]of Object.entries(u)){const h=(d==null?void 0:d.toString())||d,m=n[l][h];if(!m)continue;if(s[c]||(s[c]={}),typeof m=="string"||Array.isArray(m)||m!=null&&m.$class){const _=typeof m=="string"||Array.isArray(m)?m:m.$class;o=[...o,...typeof _=="string"?_.split(" "):_],delete m.$class}f==="initial"&&(s[c]||(s[c]={}),s[c]=pr(s[c],m));const p=`@${f}`;s[p]||(s[p]={}),s[p][c]||(s[p][c]={}),s[p][c]=pr(s[p][c],m)}else{const f=((i=u==null?void 0:u.toString)==null?void 0:i.call(u))||u,d=(a=n==null?void 0:n[l])==null?void 0:a[f];if(!d)continue;s[c]||(s[c]={}),s[c]=pr(s[c],d)}}return{declaration:s,classes:o}}function d1(e,t,n){if(!t||!n)return{};let r=e.componentId;const o=Object.entries(t).reduce((s,[i,a])=>(n[i]&&(typeof a=="object"?Object.entries(a).forEach(([c,l])=>r+=`${i}:${c}:${l}|`):r+=`${i}:${a}|`,s[i]=a),s),{});return{cacheId:r,variantsProps:o}}function h1(e,t,n,r){var i,a;let o=(a=(i=n.hydratableRules)==null?void 0:i[e.value.uid])==null?void 0:a.p;const s=ee(()=>t==null?void 0:t.css);ve(s,c=>{c=p1(e.value,c),o&&n.deleteRule(o),o=n.pushDeclaration(e.value.uid,"p",c,o,{...r,type:"c"})},{immediate:!o}),Kn(()=>o&&n.deleteRule(o))}function p1(e,t){const n={};if(t){const r=`.${e.uniqueClassName}${e.componentId}`;n[r]=Object.assign(n[r]||{},t)}return n}const m1={theme:{},utils:{},tokensHelperConfig:{},multiApp:!1,colorSchemeMode:"media",dev:!1},g1={install(e,t){t=Object.assign(m1,t);const{theme:n,tokensHelperConfig:r,dev:o,multiApp:s,colorSchemeMode:i,utils:a}=t,c=a1(n,r,i),l=s?ca(6):void 0,u=r1(c.$tokens,a,i,l);function f(d={},h,m){const p=pt();let _;const v=le({v:"",c:""}),b=i1(p,v);m&&Object.keys(m).length>0&&c1(b,m,u,_);let y;if(h&&Object.keys(h).length>0){const{variantsClasses:g}=u1(b,h,d,u,v,_);y=g}return d!=null&&d.css&&Object.keys(d==null?void 0:d.css).length>0&&h1(b,d,u,_),{$pinceau:ee(()=>{var g;return[v.value.v,v.value.c,(g=y==null?void 0:y.value)==null?void 0:g.join(" ")].join(" ")})}}e.config.globalProperties.$pinceauRuntime=f,e.config.globalProperties.$pinceauTheme=c,e.config.globalProperties.$pinceauSsr={get:()=>u.toString()},e.provide("pinceauRuntime",f),e.provide("pinceauTheme",c)}};function y1(e,t,n){return Fe("pinceauRuntime")(e,t,n)}function _P(){return Fe("pinceauTheme")}function vP(e,t=!1){return{type:[String,Object],default:e,required:t}}const _1=e=>({marginTop:e,marginBottom:e}),v1=e=>({marginLeft:e,marginRight:e}),b1=e=>({paddingTop:e,paddingBottom:e}),w1=e=>({paddingLeft:e,paddingRight:e}),E1={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},C1=e=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":e}),T1=e=>({fontSize:`{text.${e}.fontSize}`,lineHeight:`{text.${e}.lineHeight}`}),P1=e=>({color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`,borderColor:`{elements.state.${e}.borderColor.primary} !important`,":deep(p code)":{color:`{elements.state.${e}.color.secondary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(code)":{color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(a code)":{borderColor:`{elements.state.${e}.borderColor.primary} !important`},":deep(a)":{borderColor:"currentColor",code:{backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`},"&:hover":{color:`{elements.state.${e}.color.secondary} !important`,borderColor:"currentColor !important",code:{backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`,color:`{elements.state.${e}.color.secondary} !important`,borderColor:`{elements.state.${e}.borderColor.secondary} !important`}}}}),x1={my:_1,mx:v1,py:b1,px:w1,truncate:E1,lineClamp:C1,text:T1,stateColors:P1},S1=Ze(async e=>e.vueApp.use(g1,{colorSchemeMode:"class",utils:x1})),A1="__NUXT_COLOR_MODE__",R1="ColorScheme",I1="theme",k1="nuxt-color-mode",Pt=window[A1],O1=Ze(e=>{const t=At("color-mode",()=>tt({preference:Pt.preference,value:Pt.value,unknown:!1,forced:!1})).value;xo({htmlAttrs:{[`data-${I1}`]:ee(()=>t.value)}}),ct().afterEach(o=>{const s=o.meta.colorMode;s&&s!=="system"?(t.value=s,t.forced=!0):(s==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?Pt.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=Pt.getColorScheme())}))}ve(()=>t.preference,o=>{var s;t.forced||(o==="system"?(t.value=Pt.getColorScheme(),r()):t.value=o,(s=window.localStorage)==null||s.setItem(k1,o))},{immediate:!0}),ve(()=>t.value,(o,s)=>{Pt.removeColorScheme(s),Pt.addColorScheme(o)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=Pt.preference,t.value=Pt.value,t.unknown=!1)}),e.provide("colorMode",t)}),L1=Ze({name:"nuxt:chunk-reload",setup(e){const t=ct(),n=Je(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const a="href"in s&&s.href.startsWith("#")?n.app.baseURL+s.href:en(n.app.baseURL,s.fullPath);f_({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),$1=Ze(e=>{let t;const n=Je();async function r(){const o=await Xo();t&&clearTimeout(t),t=setTimeout(r,1e3*60*60);const s=await $fetch(en(n.app.cdnURL||n.app.baseURL,n.app.buildAssetsDir,"builds/latest.json"));s.id!==o.id&&e.hooks.callHook("app:manifest:update",s)}Xi(()=>{t=setTimeout(r,1e3*60*60)})}),M1=Ze(e=>{const t=le(!1),n=()=>t.value=!0,r=()=>t.value=!1,o=()=>t.value=!t.value;return e.$router.afterEach(()=>setTimeout(r,50)),ve(t,s=>{const i=document.documentElement;s?i.style.overflow="hidden":setTimeout(()=>{i.style.overflow=""},100)},{immediate:!0}),{provide:{menu:{visible:t,close:r,open:n,toggle:o}}}}),N1=Ze(()=>{navigator&&navigator.userAgent&&navigator.userAgent.match(/Win[a-z0-9]*;/)&&document.documentElement.classList.add("docus-scrollbars")}),D1=[A_,I_,Bv,Vv,Ib,kb,Ub,Kb,S1,O1,L1,$1,M1,N1],H1=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),ui=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&H1(e.route,n));return typeof r=="function"?r(e.route):r},F1=(e,t)=>({default:()=>e?et(rp,e===!0?{}:e,t):t}),j1=Re({name:"RouteProvider",props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return Mn(Zo,Wt(r)),()=>et(e.vnode,{ref:e.vnodeRef})}}),B1=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?et(e,t,n):(r=n.default)==null?void 0:r.call(n)}}),V1=Re({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,expose:n}){const r=ge(),o=le(),s=Fe(Zo,null);n({pageRef:o});const i=Fe(Oy,null);let a;const c=r.deferHydration();return()=>et(Hf,{name:e.name,route:e.route,...t},{default:l=>{const u=K1(s,l.route,l.Component),f=s&&s.matched.length===l.route.matched.length;if(!l.Component){if(a&&!f)return a;c();return}if(a&&i&&!i.isCurrent(l.route))return a;if(u&&s&&(!i||i!=null&&i.isCurrent(s)))return f?a:null;const d=ui(l,e.pageKey),h=!!(e.transition??l.route.meta.pageTransition??si),m=h&&U1([e.transition,l.route.meta.pageTransition,si,{onAfterLeave:()=>{r.callHook("page:transition:finish",l.Component)}}].filter(Boolean));return a=B1(Qi,h&&m,F1(e.keepalive??l.route.meta.keepalive??Hy,et(fu,{suspensible:!0,onPending:()=>r.callHook("page:start",l.Component),onResolve:()=>{wt(()=>r.callHook("page:finish",l.Component).finally(c))}},{default:()=>et(j1,{key:d,vnode:l.Component,route:l.route,renderKey:d,trackRootNodes:h,vnodeRef:o})}))).default(),a}})}});function z1(e){return Array.isArray(e)?e:e?[e]:[]}function U1(e){const t=e.map(n=>({...n,onAfterLeave:z1(n.onAfterLeave)}));return pr(...t)}function K1(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,a,c;return((i=o.components)==null?void 0:i.default)!==((c=(a=e.matched[s])==null?void 0:a.components)==null?void 0:c.default)})||n&&ui({route:t,Component:n})!==ui({route:e,Component:n})}const Xf={__name:"AppLoadingBar",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3}},setup(e){const t=e,n=ge(),r=tt({percent:0,show:!1,canSucceed:!0});let o=null,s=null,i;function a(){o&&clearInterval(o),s&&clearTimeout(s),o=null}function c(){r.show||(a(),r.percent=0,r.canSucceed=!0,t.throttle?s=setTimeout(d,t.throttle):d())}function l(h){r.percent=Math.min(100,Math.floor(r.percent+h))}function u(){r.percent=100,f()}function f(){a(),setTimeout(()=>{r.show=!1,setTimeout(()=>{r.percent=0},400)},500)}function d(){r.show=!0,i=1e4/Math.floor(t.duration),o=setInterval(()=>{l(i)},100)}return n.hook("content:middleware:start",c),n.hook("page:start",c),n.hook("page:finish",u),Jn(()=>a),(h,m)=>(Q(),ue("div",{class:Ue(["nuxt-progress",{"nuxt-progress-failed":!M(r).canSucceed}]),style:Un({width:`${M(r).percent}%`,left:M(r).left,opacity:M(r).show?1:0,backgroundSize:`${100/M(r).percent*100}% auto`})},null,6))}},W1=Object.freeze(Object.defineProperty({__proto__:null,default:Xf},Symbol.toStringTag,{value:"Module"})),ed=Object.freeze({left:0,top:0,width:16,height:16}),td=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),la=Object.freeze({...ed,...td});Object.freeze({...la,body:"",hidden:!1});({...ed});const nd=Object.freeze({width:null,height:null}),rd=Object.freeze({...nd,...td});function q1(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in nd?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const Q1=/[\s,]+/;function J1(e,t){t.split(Q1).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Z1(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:r(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return t}const G1=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Y1=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Yc(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(G1);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=Y1.test(s);for(;;){if(i){const a=parseFloat(s);isNaN(a)?o.push(s):o.push(Math.ceil(a*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}const X1=e=>e==="unset"||e==="undefined"||e==="none";function ew(e,t){const n={...la,...e},r={...rd,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(m=>{const p=[],_=m.hFlip,v=m.vFlip;let b=m.rotate;_?v?b+=2:(p.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),p.push("scale(-1 1)"),o.top=o.left=0):v&&(p.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),p.push("scale(1 -1)"),o.top=o.left=0);let y;switch(b<0&&(b-=Math.floor(b/4)*4),b=b%4,b){case 1:y=o.height/2+o.top,p.unshift("rotate(90 "+y.toString()+" "+y.toString()+")");break;case 2:p.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:y=o.width/2+o.left,p.unshift("rotate(-90 "+y.toString()+" "+y.toString()+")");break}b%2===1&&(o.left!==o.top&&(y=o.left,o.left=o.top,o.top=y),o.width!==o.height&&(y=o.width,o.width=o.height,o.height=y)),p.length&&(s=''+s+"")});const i=r.width,a=r.height,c=o.width,l=o.height;let u,f;i===null?(f=a===null?"1em":a==="auto"?l:a,u=Yc(f,c/l)):(u=i==="auto"?c:i,f=a===null?Yc(u,l/c):a==="auto"?l:a);const d={},h=(m,p)=>{X1(p)||(d[m]=p.toString())};return h("width",u),h("height",f),d.viewBox=o.left.toString()+" "+o.top.toString()+" "+c.toString()+" "+l.toString(),{attributes:d,body:s}}const tw=/\sid="(\S+)"/g,nw="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let rw=0;function ow(e,t=nw){const n=[];let r;for(;r=tw.exec(e);)n.push(r[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof t=="function"?t(s):t+(rw++).toString(),a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}function sw(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function iw(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function aw(e){return"data:image/svg+xml,"+iw(e)}function cw(e){return'url("'+aw(e)+'")'}const Xc={...rd,inline:!1},lw={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},uw={display:"inline-block"},fi={backgroundColor:"currentColor"},od={backgroundColor:"transparent"},el={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},tl={webkitMask:fi,mask:fi,background:od};for(const e in tl){const t=tl[e];for(const n in el)t[e+n]=el[n]}const co={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";co[e+"-flip"]=t,co[e.slice(0,1)+"-flip"]=t,co[e+"Flip"]=t});function nl(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const fw=(e,t)=>{const n=q1(Xc,t),r={...lw},o=t.mode||"svg",s={},i=t.style,a=typeof i=="object"&&!(i instanceof Array)?i:{};for(let p in t){const _=t[p];if(_!==void 0)switch(p){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[p]=_===!0||_==="true"||_===1;break;case"flip":typeof _=="string"&&J1(n,_);break;case"color":s.color=_;break;case"rotate":typeof _=="string"?n[p]=Z1(_):typeof _=="number"&&(n[p]=_);break;case"ariaHidden":case"aria-hidden":_!==!0&&_!=="true"&&delete r["aria-hidden"];break;default:{const v=co[p];v?(_===!0||_==="true"||_===1)&&(n[v]=!0):Xc[p]===void 0&&(r[p]=_)}}}const c=ew(e,n),l=c.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...a},Object.assign(r,l);let p=0,_=t.id;return typeof _=="string"&&(_=_.replace(/-/g,"_")),r.innerHTML=ow(c.body,_?()=>_+"ID"+p++:"iconifyVue"),et("svg",r)}const{body:u,width:f,height:d}=e,h=o==="mask"||(o==="bg"?!1:u.indexOf("currentColor")!==-1),m=sw(u,{...l,width:f+"",height:d+""});return r.style={...s,"--svg":cw(m),width:nl(l.width),height:nl(l.height),...uw,...h?fi:od,...a},et("span",r)},dw=Object.create(null),hw=Re({inheritAttrs:!1,render(){const e=this.$attrs,t=e.icon,n=typeof t=="string"?dw[t]:typeof t=="object"?t:null;return n===null||typeof n!="object"||typeof n.body!="string"?this.$slots.default?this.$slots.default():null:fw({...la,...n},e)}}),_r=/^[a-z0-9]+(-[a-z0-9]+)*$/,ts=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const a=o.pop(),c=o.pop(),l={provider:o.length>0?o[0]:r,prefix:c,name:a};return t&&!lo(l)?null:l}const s=o[0],i=s.split("-");if(i.length>1){const a={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!lo(a)?null:a}if(n&&r===""){const a={provider:r,prefix:"",name:s};return t&&!lo(a,n)?null:a}return null},lo=(e,t)=>e?!!((e.provider===""||e.provider.match(_r))&&(t&&e.prefix===""||e.prefix.match(_r))&&e.name.match(_r)):!1,sd=Object.freeze({left:0,top:0,width:16,height:16}),ko=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),ua=Object.freeze({...sd,...ko}),di=Object.freeze({...ua,body:"",hidden:!1});function pw(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function rl(e,t){const n=pw(e,t);for(const r in di)r in ko?r in e&&!(r in n)&&(n[r]=ko[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function mw(e,t){const n=e.icons,r=e.aliases||Object.create(null),o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const a=r[i]&&r[i].parent,c=a&&s(a);c&&(o[i]=[a].concat(c))}return o[i]}return(t||Object.keys(n).concat(Object.keys(r))).forEach(s),o}function gw(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let s={};function i(a){s=rl(r[a]||o[a],s)}return i(t),n.forEach(i),rl(e,s)}function id(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const r=mw(e);for(const o in r){const s=r[o];s&&(t(o,gw(e,o,s)),n.push(o))}return n}const yw={provider:"",aliases:{},not_found:{},...sd};function Ts(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function ad(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ts(e,yw))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(_r)||typeof s.body!="string"||!Ts(s,di))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(_r)||typeof i!="string"||!n[i]&&!r[i]||!Ts(s,di))return null}return t}const ol=Object.create(null);function _w(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function vn(e,t){const n=ol[e]||(ol[e]=Object.create(null));return n[t]||(n[t]=_w(e,t))}function fa(e,t){return ad(t)?id(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function vw(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let Ir=!1;function cd(e){return typeof e=="boolean"&&(Ir=e),Ir}function bw(e){const t=typeof e=="string"?ts(e,!0,Ir):e;if(t){const n=vn(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function ww(e,t){const n=ts(e,!0,Ir);if(!n)return!1;const r=vn(n.provider,n.prefix);return vw(r,n.name,t)}function Ew(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),Ir&&!t&&!e.prefix){let o=!1;return ad(e)&&(e.prefix="",id(e,(s,i)=>{i&&ww(s,i)&&(o=!0)})),o}const n=e.prefix;if(!lo({provider:t,prefix:n,name:"a"}))return!1;const r=vn(t,n);return!!fa(r,e)}const Cw=Object.freeze({width:null,height:null}),Tw=Object.freeze({...Cw,...ko});""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);const hi=Object.create(null);function Pw(e,t){hi[e]=t}function pi(e){return hi[e]||hi[""]}function da(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const ha=Object.create(null),tr=["https://api.simplesvg.com","https://api.unisvg.com"],uo=[];for(;tr.length>0;)tr.length===1||Math.random()>.5?uo.push(tr.shift()):uo.push(tr.pop());ha[""]=da({resources:["https://api.iconify.design"].concat(uo)});function xw(e,t){const n=da(t);return n===null?!1:(ha[e]=n,!0)}function pa(e){return ha[e]}const Sw=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let sl=Sw();function Aw(e,t){const n=pa(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=t+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function Rw(e){return e===404}const Iw=(e,t,n)=>{const r=[],o=Aw(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},a=0;return n.forEach((c,l)=>{a+=c.length+1,a>=o&&l>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},a=c.length),i.icons.push(c)}),r.push(i),r};function kw(e){if(typeof e=="string"){const t=pa(e);if(t)return t.path}return"/"}const Ow=(e,t,n)=>{if(!sl){n("abort",424);return}let r=kw(t.provider);switch(t.type){case"icons":{const s=t.prefix,a=t.icons.join(","),c=new URLSearchParams({icons:a});r+=s+".json?"+c.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;sl(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(Rw(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})},Lw={prepare:Iw,send:Ow};function $w(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,a=o.name,c=n[s]||(n[s]=Object.create(null)),l=c[i]||(c[i]=vn(s,i));let u;a in l.icons?u=t.loaded:i===""||l.missing.has(a)?u=t.missing:u=t.pending;const f={provider:s,prefix:i,name:a};u.push(f)}),t}function ld(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function Mw(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(s=>{const i=s.icons,a=i.pending.length;i.pending=i.pending.filter(c=>{if(c.prefix!==o)return!0;const l=c.name;if(e.icons[l])i.loaded.push({provider:r,prefix:o,name:l});else if(e.missing.has(l))i.missing.push({provider:r,prefix:o,name:l});else return n=!0,!0;return!1}),i.pending.length!==a&&(n||ld([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let Nw=0;function Dw(e,t,n){const r=Nw++,o=ld.bind(null,n,r);if(!t.pending.length)return o;const s={id:r,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function Hw(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?ts(o,t,n):o;s&&r.push(s)}),r}var Fw={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function jw(e,t,n,r){const o=e.resources.length,s=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let S=e.resources.slice(0);for(i=[];S.length>1;){const A=Math.floor(Math.random()*S.length);i.push(S[A]),S=S.slice(0,A).concat(S.slice(A+1))}i=i.concat(S)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const a=Date.now();let c="pending",l=0,u,f=null,d=[],h=[];typeof r=="function"&&h.push(r);function m(){f&&(clearTimeout(f),f=null)}function p(){c==="pending"&&(c="aborted"),m(),d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function _(S,A){A&&(h=[]),typeof S=="function"&&h.push(S)}function v(){return{startTime:a,payload:t,status:c,queriesSent:l,queriesPending:d.length,subscribe:_,abort:p}}function b(){c="failed",h.forEach(S=>{S(void 0,u)})}function y(){d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function g(S,A,I){const H=A!=="success";switch(d=d.filter(R=>R!==S),c){case"pending":break;case"failed":if(H||!e.dataAfterTimeout)return;break;default:return}if(A==="abort"){u=I,b();return}if(H){u=I,d.length||(i.length?P():b());return}if(m(),y(),!e.random){const R=e.resources.indexOf(S.resource);R!==-1&&R!==e.index&&(e.index=R)}c="completed",h.forEach(R=>{R(I)})}function P(){if(c!=="pending")return;m();const S=i.shift();if(S===void 0){if(d.length){f=setTimeout(()=>{m(),c==="pending"&&(y(),b())},e.timeout);return}b();return}const A={status:"pending",resource:S,callback:(I,H)=>{g(A,I,H)}};d.push(A),l++,f=setTimeout(P,e.rotate),n(S,t,A.callback)}return setTimeout(P),v}function ud(e){const t={...Fw,...e};let n=[];function r(){n=n.filter(a=>a().status==="pending")}function o(a,c,l){const u=jw(t,a,c,(f,d)=>{r(),l&&l(f,d)});return n.push(u),u}function s(a){return n.find(c=>a(c))||null}return{query:o,find:s,setIndex:a=>{t.index=a},getIndex:()=>t.index,cleanup:r}}function il(){}const Ps=Object.create(null);function Bw(e){if(!Ps[e]){const t=pa(e);if(!t)return;const n=ud(t),r={config:t,redundancy:n};Ps[e]=r}return Ps[e]}function Vw(e,t,n){let r,o;if(typeof e=="string"){const s=pi(e);if(!s)return n(void 0,424),il;o=s.send;const i=Bw(e);i&&(r=i.redundancy)}else{const s=da(e);if(s){r=ud(s);const i=e.resources?e.resources[0]:"",a=pi(i);a&&(o=a.send)}}return!r||!o?(n(void 0,424),il):r.query(t,o,n)().abort}const al="iconify2",kr="iconify",fd=kr+"-count",cl=kr+"-version",dd=36e5,zw=168;function mi(e,t){try{return e.getItem(t)}catch{}}function ma(e,t,n){try{return e.setItem(t,n),!0}catch{}}function ll(e,t){try{e.removeItem(t)}catch{}}function gi(e,t){return ma(e,fd,t.toString())}function yi(e){return parseInt(mi(e,fd))||0}const ns={local:!0,session:!0},hd={local:new Set,session:new Set};let ga=!1;function Uw(e){ga=e}let Xr=typeof window>"u"?{}:window;function pd(e){const t=e+"Storage";try{if(Xr&&Xr[t]&&typeof Xr[t].length=="number")return Xr[t]}catch{}ns[e]=!1}function md(e,t){const n=pd(e);if(!n)return;const r=mi(n,cl);if(r!==al){if(r){const a=yi(n);for(let c=0;c{const c=kr+a.toString(),l=mi(n,c);if(typeof l=="string"){try{const u=JSON.parse(l);if(typeof u=="object"&&typeof u.cached=="number"&&u.cached>o&&typeof u.provider=="string"&&typeof u.data=="object"&&typeof u.data.prefix=="string"&&t(u,a))return!0}catch{}ll(n,c)}};let i=yi(n);for(let a=i-1;a>=0;a--)s(a)||(a===i-1?(i--,gi(n,i)):hd[e].add(a))}function gd(){if(!ga){Uw(!0);for(const e in ns)md(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=vn(r,o);if(!fa(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function Kw(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in ns)md(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function Ww(e,t){ga||gd();function n(r){let o;if(!ns[r]||!(o=pd(r)))return;const s=hd[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=yi(o),!gi(o,i+1))return;const a={cached:Math.floor(Date.now()/dd),provider:e.provider,data:t};return ma(o,kr+i.toString(),JSON.stringify(a))}t.lastModified&&!Kw(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function ul(){}function qw(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Mw(e)}))}function Qw(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;delete e.iconsToLoad;let s;if(!o||!(s=pi(n)))return;s.prepare(n,r,o).forEach(a=>{Vw(n,a,c=>{if(typeof c!="object")a.icons.forEach(l=>{e.missing.add(l)});else try{const l=fa(e,c);if(!l.length)return;const u=e.pendingIcons;u&&l.forEach(f=>{u.delete(f)}),Ww(e,c)}catch(l){console.error(l)}qw(e)})})}))}const Jw=(e,t)=>{const n=Hw(e,!0,cd()),r=$w(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,ul)}),()=>{c=!1}}const o=Object.create(null),s=[];let i,a;return r.pending.forEach(c=>{const{provider:l,prefix:u}=c;if(u===a&&l===i)return;i=l,a=u,s.push(vn(l,u));const f=o[l]||(o[l]=Object.create(null));f[u]||(f[u]=[])}),r.pending.forEach(c=>{const{provider:l,prefix:u,name:f}=c,d=vn(l,u),h=d.pendingIcons||(d.pendingIcons=new Set);h.has(f)||(h.add(f),o[l][u].push(f))}),s.forEach(c=>{const{provider:l,prefix:u}=c;o[l][u].length&&Qw(c,o[l][u])}),t?Dw(t,r,s):ul},Zw=e=>new Promise((t,n)=>{const r=typeof e=="string"?ts(e,!0):e;if(!r){n(e);return}Jw([r||e],o=>{if(o.length&&r){const s=bw(r);if(s){t({...ua,...s});return}}n(e)})});({...Tw});const fl={backgroundColor:"currentColor"},Gw={backgroundColor:"transparent"},dl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},hl={webkitMask:fl,mask:fl,background:Gw};for(const e in hl){const t=hl[e];for(const n in dl)t[e+n]=dl[n]}const xs={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";xs[e+"-flip"]=t,xs[e.slice(0,1)+"-flip"]=t,xs[e+"Flip"]=t});cd(!0);Pw("",Lw);if(typeof document<"u"&&typeof window<"u"){gd();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!Ew(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;xw(n,o)||console.error(r)}catch{console.error(r)}}}}({...ua});const Yw=["width","height"],Xw=Re({__name:"Icon",props:{name:{type:String,required:!0},size:{type:String,default:""}},async setup(e){var m;let t,n;const r=ge(),o=ea();(m=o==null?void 0:o.nuxtIcon)!=null&&m.aliases;const s=e,i=At("icons",()=>({})),a=le(!1),c=ee(()=>{var p;return(((p=o.nuxtIcon)==null?void 0:p.aliases)||{})[s.name]||s.name}),l=ee(()=>{var p;return(p=i.value)==null?void 0:p[c.value]}),u=ee(()=>r.vueApp.component(c.value)),f=ee(()=>{var _,v,b;if(!s.size&&typeof((_=o.nuxtIcon)==null?void 0:_.size)=="boolean"&&!((v=o.nuxtIcon)!=null&&v.size))return;const p=s.size||((b=o.nuxtIcon)==null?void 0:b.size)||"1em";return String(Number(p))===p?`${p}px`:p}),d=ee(()=>{var p;return((p=o==null?void 0:o.nuxtIcon)==null?void 0:p.class)??"icon"});async function h(){var p;u.value||(p=i.value)!=null&&p[c.value]||(a.value=!0,i.value[c.value]=await Zw(c.value).catch(()=>{}),a.value=!1)}return ve(()=>c.value,h),!u.value&&([t,n]=Su(()=>h()),t=await t,n()),(p,_)=>M(a)?(Q(),ue("span",{key:0,class:Ue(M(d)),width:M(f),height:M(f)},null,10,Yw)):M(l)?(Q(),de(M(hw),{key:1,icon:M(l),class:Ue(M(d)),width:M(f),height:M(f)},null,8,["icon","class","width","height"])):M(u)?(Q(),de(qo(M(u)),{key:2,class:Ue(M(d)),width:M(f),height:M(f)},null,8,["class","width","height"])):(Q(),ue("span",{key:3,class:Ue(M(d)),style:Un({fontSize:M(f),lineHeight:M(f),width:M(f),height:M(f)})},kt(e.name),7))}});const Be=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Mt=Be(Xw,[["__scopeId","data-v-e610b8e3"]]),eE=Object.freeze(Object.defineProperty({__proto__:null,default:Mt},Symbol.toStringTag,{value:"Module"})),tn=()=>{const e=ee(()=>{var l;return((l=ea())==null?void 0:l.docus)||{}}),{navPageFromPath:t,navDirFromPath:n,navKeyFromPath:r}=oa(),{navigation:o,page:s}=Hr(),i=at(),a=ee(()=>{var m,p,_,v,b,y,g,P,S,A,I;const l=((m=e==null?void 0:e.value)==null?void 0:m.titleTemplate)||r((p=s==null?void 0:s.value)==null?void 0:p._path,"titleTemplate",o.value||[])||`%s · ${((_=e==null?void 0:e.value)==null?void 0:_.title)||"Docus"}`,u=((v=e==null?void 0:e.value)==null?void 0:v.main)||{},f=((b=e==null?void 0:e.value)==null?void 0:b.header)||{},d=((y=e==null?void 0:e.value)==null?void 0:y.aside)||{},h=((g=e==null?void 0:e.value)==null?void 0:g.footer)||{};return{...e.value,titleTemplate:l,main:{...u,...r(i.path,"main",o.value||[]),...(P=s.value)==null?void 0:P.main},header:{...f,...r(i.path,"header",o.value||[]),...(S=s.value)==null?void 0:S.header},aside:{...d,...r(i.path,"aside",o.value||[]),...(A=s.value)==null?void 0:A.aside},footer:{...h,...r(i.path,"footer",o.value||[]),...(I=s.value)==null?void 0:I.footer}}});return{tree:ee(()=>{var h,m,p,_,v;let l=o.value||[];const u=i.path,f=((m=(h=a==null?void 0:a.value)==null?void 0:h.aside)==null?void 0:m.level)||0,d=((_=(p=a==null?void 0:a.value)==null?void 0:p.aside)==null?void 0:_.exclude)||[];if(f){const y=u.split("/").splice(0,1+f).join("/");l=n(y,l)||[],Array.isArray(l)||(l=[l])}if(l.length===0){if(l=t(((v=s.value)==null?void 0:v._path)||"/",o.value||[]),!l)return[];Array.isArray(l)||(l=[l])}return l.filter(b=>!d.includes(b._path))}),config:a}},tE=Re({__name:"AppSocialIcons",setup(e){const t=["twitter","facebook","instagram","tiktok","youtube","github","medium"],{config:n}=tn(),r=ee(()=>Object.entries(n.value.socials||{}).map(([o,s])=>typeof s=="object"?s:typeof s=="string"&&s&&t.includes(o)?{href:/^https?:\/\//.test(s)?s:`https://${o}.com/${s}`,icon:`fa-brands:${o}`,label:s,rel:"noopener noreferrer"}:null).filter(Boolean));return(o,s)=>{const i=Mt,a=Dr;return Q(!0),ue(Pe,null,Dn(M(r),c=>(Q(),de(a,{key:c.label,rel:c.rel,title:c.label,"aria-label":c.label,href:c.href,target:"_blank"},{default:nt(()=>[c.icon?(Q(),de(i,{key:0,name:c.icon},null,8,["name"])):je("",!0)]),_:2},1032,["rel","title","aria-label","href"]))),128)}}});const rs=Be(tE,[["__scopeId","data-v-22569e45"]]),nE=Object.freeze(Object.defineProperty({__proto__:null,default:rs},Symbol.toStringTag,{value:"Module"})),rE={class:"docs-aside-tree"},oE=["onClick"],sE={class:"content"},iE={class:"content"},aE=Re({__name:"DocsAsideTree",props:{links:{type:Array,default:()=>[]},level:{type:Number,default:0},max:{type:Number,default:null},parent:{type:Object,default:null}},setup(e){var l;const t=e,n=at(),{config:r}=tn(),o=At(`docus-docs-aside-collapse-map-${((l=t.parent)==null?void 0:l._path)||"/"}`,()=>t.level===0?{}:t.links.filter(u=>!!u.children).reduce((u,f)=>(u[f._path]=!0,u),{})),s=u=>n.path===u._path,i=u=>{var f,d,h,m;if(u.children){if(typeof o.value[u._path]<"u")return o.value[u._path];if([!0,!1].includes((f=u==null?void 0:u.aside)==null?void 0:f.collapsed))return u.aside.collapsed;if(u!=null&&u.collapsed)return u==null?void 0:u.collapsed;if((h=(d=r==null?void 0:r.value)==null?void 0:d.aside)!=null&&h.collapsed)return(m=r.value.aside)==null?void 0:m.collapsed}return!1},a=u=>o.value[u._path]=!i(u),c=ee(()=>t.links.some(u=>u.children));return(u,f)=>{const d=Mt,h=Dr,m=ya;return Q(),ue("ul",rE,[(Q(!0),ue(Pe,null,Dn(e.links,p=>{var _,v,b,y,g;return Q(),ue("li",{key:p._path,class:Ue({"has-parent-icon":(_=e.parent)==null?void 0:_.icon,"has-children":e.level>0&&p.children,bordered:e.level>0||!M(c),active:s(p)})},[p.children?(Q(),ue("button",{key:0,class:"title-collapsible-button",onClick:P=>a(p)},[se("span",sE,[(v=p==null?void 0:p.navigation)!=null&&v.icon||p.icon?(Q(),de(d,{key:0,name:((b=p==null?void 0:p.navigation)==null?void 0:b.icon)||p.icon,class:"icon"},null,8,["name"])):je("",!0),se("span",null,kt(((y=p==null?void 0:p.navigation)==null?void 0:y.title)||p.title||p._path),1)]),se("span",null,[ae(d,{name:i(p)?"lucide:chevrons-up-down":"lucide:chevrons-down-up",class:"collapsible-icon"},null,8,["name"])])],8,oE)):(Q(),de(h,{key:1,to:p.redirect?p.redirect:p._path,class:Ue(["link",{padded:e.level>0||!M(c),active:s(p)}]),exact:p.exact},{default:nt(()=>{var P,S,A;return[se("span",iE,[(P=p==null?void 0:p.navigation)!=null&&P.icon||p.icon?(Q(),de(d,{key:0,name:((S=p==null?void 0:p.navigation)==null?void 0:S.icon)||p.icon,class:"icon"},null,8,["name"])):je("",!0),se("span",null,kt(((A=p==null?void 0:p.navigation)==null?void 0:A.title)||p.title||p._path),1)])]}),_:2},1032,["to","exact","class"])),(g=p.children)!=null&&g.length&&(e.max===null||e.level+1{const{$menu:e}=ge();return e},lE={class:"wrapper"},uE={class:"icons"},fE=Re({__name:"AppHeaderDialog",setup(e){const{navigation:t}=Hr(),{config:n}=tn(),r=le(!1),o=ee(()=>{var c;return((c=n.value.aside)==null?void 0:c.exclude)||[]}),s=ee(()=>(t.value||[]).filter(c=>!o.value.includes(c._path))),{close:i,open:a}=yd();return ve(r,c=>c?a():i()),(c,l)=>{const u=Mt,f=rs,d=ya;return Q(),ue(Pe,null,[se("button",{"aria-label":"Menu",onClick:l[0]||(l[0]=h=>r.value=!0)},[ae(u,{name:"heroicons-outline:menu","aria-hidden":"”true”"})]),(Q(),de(Hu,{to:"body"},[M(r)?(Q(),ue("nav",{key:0,class:"dialog",onClick:l[3]||(l[3]=h=>r.value=!1)},[se("div",{onClick:l[2]||(l[2]=ir(()=>{},["stop"]))},[se("div",lE,[se("button",{"aria-label":"Menu",onClick:l[1]||(l[1]=h=>r.value=!1)},[ae(u,{name:"heroicons-outline:x","aria-hidden":"”true”"})]),se("div",uE,[ae(f)])]),ae(d,{links:M(s)},null,8,["links"])])])):je("",!0)]))],64)}}});const _d=Be(fE,[["__scopeId","data-v-8fd30205"]]),dE=Object.freeze(Object.defineProperty({__proto__:null,default:_d},Symbol.toStringTag,{value:"Module"}));const hE={},pE={viewBox:"0 0 167 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},mE=Op('',7),gE=[mE];function yE(e,t){return Q(),ue("svg",pE,gE)}const vd=Be(hE,[["render",yE],["__scopeId","data-v-fca4477e"]]),_E=Object.freeze(Object.defineProperty({__proto__:null,default:vd},Symbol.toStringTag,{value:"Module"})),vE={key:0,class:"logo"},bE=["src"],wE=["src"],EE={key:1,class:"title"},CE=Re({__name:"AppHeaderLogo",setup(e){const{config:t}=tn(),n=ee(()=>{var o;return((o=t.value.header)==null?void 0:o.logo)||!1}),r=ee(()=>{var o;return((o=t.value.header)==null?void 0:o.title)||t.value.title});return(o,s)=>{const i=vd,a=Dr;return Q(),de(a,{class:"navbar-logo",to:"/","aria-label":M(r)},{default:nt(()=>[M(n)?(Q(),ue("span",vE,[typeof M(n)=="string"?(Q(),de(qo(M(n)),{key:0})):M(n).light&&M(n).dark?(Q(),ue(Pe,{key:1},[se("img",{src:M(n).light,alt:"",class:"light-img"},null,8,bE),se("img",{src:M(n).dark,alt:"",class:"dark-img"},null,8,wE)],64)):M(n)?(Q(),de(i,{key:2})):je("",!0)])):(Q(),ue("span",EE,kt(M(r)),1))]),_:1},8,["aria-label"])}}});const bd=Be(CE,[["__scopeId","data-v-58a8631e"]]),TE=Object.freeze(Object.defineProperty({__proto__:null,default:bd},Symbol.toStringTag,{value:"Module"})),PE={key:0},xE=Re({__name:"AppHeaderNavigation",setup(e){const t=at(),{navBottomLink:n}=oa(),{navigation:r}=Hr(),{config:o}=tn(),s=ee(()=>{var l;return!!((l=o.value.aside)!=null&&l.level)}),i=ee(()=>{var l;return((l=o.value.header)==null?void 0:l.exclude)||[]}),a=ee(()=>(r.value||[]).filter(l=>!i.value.includes(l._path))),c=l=>l.exact?t.fullPath===l._path:t.fullPath.startsWith(l._path);return(l,u)=>{const f=Mt,d=Dr;return M(s)?(Q(),ue("nav",PE,[se("ul",null,[(Q(!0),ue(Pe,null,Dn(M(a),h=>(Q(),ue("li",{key:h._path},[ae(d,{class:Ue(["link",{active:c(h)}]),to:h.redirect?h.redirect:M(n)(h)},{default:nt(()=>{var m,p;return[h.icon&&((p=(m=M(o))==null?void 0:m.header)!=null&&p.showLinkIcon)?(Q(),de(f,{key:0,name:h.icon},null,8,["name"])):je("",!0),Mr(" "+kt(h.title),1)]}),_:2},1032,["to","class"])]))),128))])])):je("",!0)}}});const wd=Be(xE,[["__scopeId","data-v-4fab471c"]]),SE=Object.freeze(Object.defineProperty({__proto__:null,default:wd},Symbol.toStringTag,{value:"Module"})),Ed=()=>{const{$docSearch:e}=ge();return e||{hasDocSearch:le(!1)}},Cd=e=>(cu("data-v-67a6a092"),e=e(),lu(),e),AE={class:"content"},RE=Cd(()=>se("span",null,"Search",-1)),IE=Cd(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),kE=Re({__name:"AppDocSearch",setup(e){const{element:t}=Ed(),n=()=>t.value.querySelector("button").click();return(r,o)=>{const s=Mt;return Q(),ue("button",{type:"button","aria-label":"Search",onClick:n},[se("span",AE,[ae(s,{name:"heroicons-outline:search"}),RE,IE])])}}});const Td=Be(kE,[["__scopeId","data-v-67a6a092"]]),OE=Object.freeze(Object.defineProperty({__proto__:null,default:Td},Symbol.toStringTag,{value:"Module"}));function Lt(e){return Array.isArray?Array.isArray(e):Sd(e)==="[object Array]"}const LE=1/0;function $E(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-LE?"-0":t}function ME(e){return e==null?"":$E(e)}function vt(e){return typeof e=="string"}function Pd(e){return typeof e=="number"}function NE(e){return e===!0||e===!1||DE(e)&&Sd(e)=="[object Boolean]"}function xd(e){return typeof e=="object"}function DE(e){return xd(e)&&e!==null}function Xe(e){return e!=null}function Ss(e){return!e.trim().length}function Sd(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const HE="Incorrect 'index' type",FE=e=>`Invalid value for key ${e}`,jE=e=>`Pattern length exceeds max of ${e}.`,BE=e=>`Missing ${e} property in key`,VE=e=>`Property 'weight' in key '${e}' must be a positive integer`,pl=Object.prototype.hasOwnProperty;class zE{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(r=>{let o=Ad(r);n+=o.weight,this._keys.push(o),this._keyMap[o.id]=o,n+=o.weight}),this._keys.forEach(r=>{r.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Ad(e){let t=null,n=null,r=null,o=1,s=null;if(vt(e)||Lt(e))r=e,t=ml(e),n=_i(e);else{if(!pl.call(e,"name"))throw new Error(BE("name"));const i=e.name;if(r=i,pl.call(e,"weight")&&(o=e.weight,o<=0))throw new Error(VE(i));t=ml(i),n=_i(i),s=e.getFn}return{path:t,id:n,weight:o,src:r,getFn:s}}function ml(e){return Lt(e)?e:e.split(".")}function _i(e){return Lt(e)?e.join("."):e}function UE(e,t){let n=[],r=!1;const o=(s,i,a)=>{if(Xe(s))if(!i[a])n.push(s);else{let c=i[a];const l=s[c];if(!Xe(l))return;if(a===i.length-1&&(vt(l)||Pd(l)||NE(l)))n.push(ME(l));else if(Lt(l)){r=!0;for(let u=0,f=l.length;ue.score===t.score?e.idx{this._keysMap[n.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,vt(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();vt(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,r=this.size();n{let i=o.getFn?o.getFn(t):this.getFn(t,o.path);if(Xe(i)){if(Lt(i)){let a=[];const c=[{nestedArrIndex:-1,value:i}];for(;c.length;){const{nestedArrIndex:l,value:u}=c.pop();if(Xe(u))if(vt(u)&&!Ss(u)){let f={v:u,i:l,n:this.norm.get(u)};a.push(f)}else Lt(u)&&u.forEach((f,d)=>{c.push({nestedArrIndex:d,value:f})})}r.$[s]=a}else if(vt(i)&&!Ss(i)){let a={v:i,n:this.norm.get(i)};r.$[s]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function Rd(e,t,{getFn:n=ie.getFn,fieldNormWeight:r=ie.fieldNormWeight}={}){const o=new _a({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(Ad)),o.setSources(t),o.create(),o}function GE(e,{getFn:t=ie.getFn,fieldNormWeight:n=ie.fieldNormWeight}={}){const{keys:r,records:o}=e,s=new _a({getFn:t,fieldNormWeight:n});return s.setKeys(r),s.setIndexRecords(o),s}function eo(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=ie.distance,ignoreLocation:s=ie.ignoreLocation}={}){const i=t/e.length;if(s)return i;const a=Math.abs(r-n);return o?i+a/o:a?1:i}function YE(e=[],t=ie.minMatchCharLength){let n=[],r=-1,o=-1,s=0;for(let i=e.length;s=t&&n.push([r,o]),r=-1)}return e[s-1]&&s-r>=t&&n.push([r,s-1]),n}const fn=32;function XE(e,t,n,{location:r=ie.location,distance:o=ie.distance,threshold:s=ie.threshold,findAllMatches:i=ie.findAllMatches,minMatchCharLength:a=ie.minMatchCharLength,includeMatches:c=ie.includeMatches,ignoreLocation:l=ie.ignoreLocation}={}){if(t.length>fn)throw new Error(jE(fn));const u=t.length,f=e.length,d=Math.max(0,Math.min(r,f));let h=s,m=d;const p=a>1||c,_=p?Array(f):[];let v;for(;(v=e.indexOf(t,m))>-1;){let A=eo(t,{currentLocation:v,expectedLocation:d,distance:o,ignoreLocation:l});if(h=Math.min(A,h),m=v+u,p){let I=0;for(;I=R;$-=1){let J=$-1,j=n[e.charAt(J)];if(p&&(_[J]=+!!j),T[$]=(T[$+1]<<1|1)&j,A&&(T[$]|=(b[$+1]|b[$])<<1|1|b[$+1]),T[$]&P&&(y=eo(t,{errors:A,currentLocation:J,expectedLocation:d,distance:o,ignoreLocation:l}),y<=h)){if(h=y,m=J,m<=d)break;R=Math.max(1,2*d-m)}}if(eo(t,{errors:A+1,currentLocation:d,expectedLocation:d,distance:o,ignoreLocation:l})>h)break;b=T}const S={isMatch:m>=0,score:Math.max(.001,y)};if(p){const A=YE(_,a);A.length?c&&(S.indices=A):S.isMatch=!1}return S}function eC(e){let t={};for(let n=0,r=e.length;n{this.chunks.push({pattern:d,alphabet:eC(d),startIndex:h})},f=this.pattern.length;if(f>fn){let d=0;const h=f%fn,m=f-h;for(;d{const{isMatch:v,score:b,indices:y}=XE(t,m,p,{location:o+_,distance:s,threshold:i,findAllMatches:a,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});v&&(d=!0),f+=b,v&&y&&(u=[...u,...y])});let h={isMatch:d,score:d?f/this.chunks.length:1};return d&&r&&(h.indices=u),h}}class nn{constructor(t){this.pattern=t}static isMultiMatch(t){return gl(t,this.multiRegex)}static isSingleMatch(t){return gl(t,this.singleRegex)}search(){}}function gl(e,t){const n=e.match(t);return n?n[1]:null}class tC extends nn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class nC extends nn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const r=t.indexOf(this.pattern)===-1;return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}}class rC extends nn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class oC extends nn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class sC extends nn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class iC extends nn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class kd extends nn{constructor(t,{location:n=ie.location,threshold:r=ie.threshold,distance:o=ie.distance,includeMatches:s=ie.includeMatches,findAllMatches:i=ie.findAllMatches,minMatchCharLength:a=ie.minMatchCharLength,isCaseSensitive:c=ie.isCaseSensitive,ignoreLocation:l=ie.ignoreLocation}={}){super(t),this._bitapSearch=new Id(t,{location:n,threshold:r,distance:o,includeMatches:s,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:c,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Od extends nn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,r;const o=[],s=this.pattern.length;for(;(r=t.indexOf(this.pattern,n))>-1;)n=r+s,o.push([r,n-1]);const i=!!o.length;return{isMatch:i,score:i?0:1,indices:o}}}const vi=[tC,Od,rC,oC,iC,sC,nC,kd],yl=vi.length,aC=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,cC="|";function lC(e,t={}){return e.split(cC).map(n=>{let r=n.trim().split(aC).filter(s=>s&&!!s.trim()),o=[];for(let s=0,i=r.length;s!!(e[Oo.AND]||e[Oo.OR]),hC=e=>!!e[Ei.PATH],pC=e=>!Lt(e)&&xd(e)&&!Ci(e),_l=e=>({[Oo.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ld(e,t,{auto:n=!0}={}){const r=o=>{let s=Object.keys(o);const i=hC(o);if(!i&&s.length>1&&!Ci(o))return r(_l(o));if(pC(o)){const c=i?o[Ei.PATH]:s[0],l=i?o[Ei.PATTERN]:o[c];if(!vt(l))throw new Error(FE(c));const u={keyId:_i(c),pattern:l};return n&&(u.searcher=wi(l,t)),u}let a={children:[],operator:s[0]};return s.forEach(c=>{const l=o[c];Lt(l)&&l.forEach(u=>{a.children.push(r(u))})}),a};return Ci(e)||(e=_l(e)),r(e)}function mC(e,{ignoreFieldNorm:t=ie.ignoreFieldNorm}){e.forEach(n=>{let r=1;n.matches.forEach(({key:o,norm:s,score:i})=>{const a=o?o.weight:null;r*=Math.pow(i===0&&a?Number.EPSILON:i,(a||1)*(t?1:s))}),n.score=r})}function gC(e,t){const n=e.matches;t.matches=[],Xe(n)&&n.forEach(r=>{if(!Xe(r.indices)||!r.indices.length)return;const{indices:o,value:s}=r;let i={indices:o,value:s};r.key&&(i.key=r.key.src),r.idx>-1&&(i.refIndex=r.idx),t.matches.push(i)})}function yC(e,t){t.score=e.score}function _C(e,t,{includeMatches:n=ie.includeMatches,includeScore:r=ie.includeScore}={}){const o=[];return n&&o.push(gC),r&&o.push(yC),e.map(s=>{const{idx:i}=s,a={item:t[i],refIndex:i};return o.length&&o.forEach(c=>{c(s,a)}),a})}class Zn{constructor(t,n={},r){this.options={...ie,...n},this.options.useExtendedSearch,this._keyStore=new zE(this.options.keys),this.setCollection(t,r)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof _a))throw new Error(HE);this._myIndex=n||Rd(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Xe(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let r=0,o=this._docs.length;r-1&&(c=c.slice(0,n)),_C(c,this._docs,{includeMatches:r,includeScore:o})}_searchStringList(t){const n=wi(t,this.options),{records:r}=this._myIndex,o=[];return r.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=n.searchIn(s);c&&o.push({item:s,idx:i,matches:[{score:l,value:s,norm:a,indices:u}]})}),o}_searchLogical(t){const n=Ld(t,this.options),r=(a,c,l)=>{if(!a.children){const{keyId:f,searcher:d}=a,h=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(c,f),searcher:d});return h&&h.length?[{idx:l,item:c,matches:h}]:[]}const u=[];for(let f=0,d=a.children.length;f{if(Xe(a)){let l=r(n,a,c);l.length&&(s[c]||(s[c]={idx:c,item:a,matches:[]},i.push(s[c])),l.forEach(({matches:u})=>{s[c].matches.push(...u)}))}}),i}_searchObjectList(t){const n=wi(t,this.options),{keys:r,records:o}=this._myIndex,s=[];return o.forEach(({$:i,i:a})=>{if(!Xe(i))return;let c=[];r.forEach((l,u)=>{c.push(...this._findMatches({key:l,value:i[u],searcher:n}))}),c.length&&s.push({idx:a,item:i,matches:c})}),s}_findMatches({key:t,value:n,searcher:r}){if(!Xe(n))return[];let o=[];if(Lt(n))n.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=r.searchIn(s);c&&o.push({score:l,key:t,value:s,idx:i,norm:a,indices:u})});else{const{v:s,n:i}=n,{isMatch:a,score:c,indices:l}=r.searchIn(s);a&&o.push({score:c,key:t,value:s,norm:i,indices:l})}return o}}Zn.version="6.6.2";Zn.createIndex=Rd;Zn.parseIndex=GE;Zn.config=ie;Zn.parseQuery=Ld;dC(fC);function vC(e){return jo()?(Kn(e),!0):!1}function xt(e){return typeof e=="function"?e():M(e)}function bC(e,t,n){const r=()=>{var i,a;return new Zn((i=xt(t))!=null?i:[],(a=xt(n))==null?void 0:a.fuseOptions)},o=le(r());ve(()=>{var i;return(i=xt(n))==null?void 0:i.fuseOptions},()=>{o.value=r()},{deep:!0}),ve(()=>xt(t),i=>{o.value.setCollection(i)},{deep:!0});const s=ee(()=>{const i=xt(n);if(i!=null&&i.matchAllWhenSearchEmpty&&!xt(e))return xt(t).map((c,l)=>({item:c,refIndex:l}));const a=i==null?void 0:i.resultLimit;return o.value.search(xt(e),a?{limit:a}:void 0)});return{fuse:o,results:s}}function wC(e){var t;const n=xt(e);return(t=n==null?void 0:n.$el)!=null?t:n}/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var $d=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Lo=$d.join(","),Md=typeof Element>"u",bn=Md?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,$o=!Md&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e==null?void 0:e.ownerDocument},Mo=function e(t,n){var r;n===void 0&&(n=!0);var o=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"inert"),s=o===""||o==="true",i=s||n&&t&&e(t.parentNode);return i},EC=function(t){var n,r=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return r===""||r==="true"},Nd=function(t,n,r){if(Mo(t))return[];var o=Array.prototype.slice.apply(t.querySelectorAll(Lo));return n&&bn.call(t,Lo)&&o.unshift(t),o=o.filter(r),o},Dd=function e(t,n,r){for(var o=[],s=Array.from(t);s.length;){var i=s.shift();if(!Mo(i,!1))if(i.tagName==="SLOT"){var a=i.assignedElements(),c=a.length?a:i.children,l=e(c,!0,r);r.flatten?o.push.apply(o,l):o.push({scopeParent:i,candidates:l})}else{var u=bn.call(i,Lo);u&&r.filter(i)&&(n||!t.includes(i))&&o.push(i);var f=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),d=!Mo(f,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(f&&d){var h=e(f===!0?i.children:f.children,!0,r);r.flatten?o.push.apply(o,h):o.push({scopeParent:i,candidates:h})}else s.unshift.apply(s,i.children)}}return o},Hd=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},dn=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||EC(t))&&!Hd(t)?0:t.tabIndex},CC=function(t,n){var r=dn(t);return r<0&&n&&!Hd(t)?0:r},TC=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},Fd=function(t){return t.tagName==="INPUT"},PC=function(t){return Fd(t)&&t.type==="hidden"},xC=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(r){return r.tagName==="SUMMARY"});return n},SC=function(t,n){for(var r=0;rsummary:first-of-type"),i=s?t.parentElement:t;if(bn.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof o=="function"){for(var a=t;t;){var c=t.parentElement,l=$o(t);if(c&&!c.shadowRoot&&o(c)===!0)return vl(t);t.assignedSlot?t=t.assignedSlot:!c&&l!==t.ownerDocument?t=l.host:t=c}t=a}if(kC(t))return!t.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return vl(t);return!1},LC=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var r=0;r=0)},MC=function e(t){var n=[],r=[];return t.forEach(function(o,s){var i=!!o.scopeParent,a=i?o.scopeParent:o,c=CC(a,i),l=i?e(o.candidates):a;c===0?i?n.push.apply(n,l):n.push(a):r.push({documentOrder:s,tabIndex:c,item:o,isScope:i,content:l})}),r.sort(TC).reduce(function(o,s){return s.isScope?o.push.apply(o,s.content):o.push(s.content),o},[]).concat(n)},NC=function(t,n){n=n||{};var r;return n.getShadowRoot?r=Dd([t],n.includeContainer,{filter:Ti.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:$C}):r=Nd(t,n.includeContainer,Ti.bind(null,n)),MC(r)},DC=function(t,n){n=n||{};var r;return n.getShadowRoot?r=Dd([t],n.includeContainer,{filter:No.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):r=Nd(t,n.includeContainer,No.bind(null,n)),r},Tn=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return bn.call(t,Lo)===!1?!1:Ti(n,t)},HC=$d.concat("iframe").join(","),As=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return bn.call(t,HC)===!1?!1:No(n,t)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function bl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function wl(e){for(var t=1;t0){var r=t[t.length-1];r!==n&&r.pause()}var o=t.indexOf(n);o===-1||t.splice(o,1),t.push(n)},deactivateTrap:function(t,n){var r=t.indexOf(n);r!==-1&&t.splice(r,1),t.length>0&&t[t.length-1].unpause()}},VC=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},zC=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},vr=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},UC=function(t){return vr(t)&&!t.shiftKey},KC=function(t){return vr(t)&&t.shiftKey},Cl=function(t){return setTimeout(t,0)},Tl=function(t,n){var r=-1;return t.every(function(o,s){return n(o)?(r=s,!1):!0}),r},nr=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?$-1:0),j=1;j<$;j++)J[j-1]=arguments[j];C=C.apply(void 0,J)}if(C===!0&&(C=void 0),!C){if(C===void 0||C===!1)return C;throw new Error("`".concat(T,"` was specified but was not a node, or did not return a node"))}var W=C;if(typeof C=="string"&&(W=r.querySelector(C),!W))throw new Error("`".concat(T,"` as selector refers to no known node"));return W},f=function(){var T=u("initialFocus");if(T===!1)return!1;if(T===void 0||!As(T,s.tabbableOptions))if(l(r.activeElement)>=0)T=r.activeElement;else{var C=i.tabbableGroups[0],$=C&&C.firstTabbableNode;T=$||u("fallbackFocus")}if(!T)throw new Error("Your focus-trap needs to have at least one focusable element");return T},d=function(){if(i.containerGroups=i.containers.map(function(T){var C=NC(T,s.tabbableOptions),$=DC(T,s.tabbableOptions),J=C.length>0?C[0]:void 0,j=C.length>0?C[C.length-1]:void 0,W=$.find(function(be){return Tn(be)}),U=$.slice().reverse().find(function(be){return Tn(be)}),he=!!C.find(function(be){return dn(be)>0});return{container:T,tabbableNodes:C,focusableNodes:$,posTabIndexesFound:he,firstTabbableNode:J,lastTabbableNode:j,firstDomTabbableNode:W,lastDomTabbableNode:U,nextTabbableNode:function(Ae){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Me=C.indexOf(Ae);return Me<0?Se?$.slice($.indexOf(Ae)+1).find(function(Ve){return Tn(Ve)}):$.slice(0,$.indexOf(Ae)).reverse().find(function(Ve){return Tn(Ve)}):C[Me+(Se?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(T){return T.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(T){return T.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},h=function O(T){var C=T.activeElement;if(C)return C.shadowRoot&&C.shadowRoot.activeElement!==null?O(C.shadowRoot):C},m=function O(T){if(T!==!1&&T!==h(document)){if(!T||!T.focus){O(f());return}T.focus({preventScroll:!!s.preventScroll}),i.mostRecentlyFocusedNode=T,VC(T)&&T.select()}},p=function(T){var C=u("setReturnFocus",T);return C||(C===!1?!1:T)},_=function(T){var C=T.target,$=T.event,J=T.isBackward,j=J===void 0?!1:J;C=C||to($),d();var W=null;if(i.tabbableGroups.length>0){var U=l(C,$),he=U>=0?i.containerGroups[U]:void 0;if(U<0)j?W=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:W=i.tabbableGroups[0].firstTabbableNode;else if(j){var be=Tl(i.tabbableGroups,function(Ie){var L=Ie.firstTabbableNode;return C===L});if(be<0&&(he.container===C||As(C,s.tabbableOptions)&&!Tn(C,s.tabbableOptions)&&!he.nextTabbableNode(C,!1))&&(be=U),be>=0){var Ae=be===0?i.tabbableGroups.length-1:be-1,Se=i.tabbableGroups[Ae];W=dn(C)>=0?Se.lastTabbableNode:Se.lastDomTabbableNode}else vr($)||(W=he.nextTabbableNode(C,!1))}else{var Me=Tl(i.tabbableGroups,function(Ie){var L=Ie.lastTabbableNode;return C===L});if(Me<0&&(he.container===C||As(C,s.tabbableOptions)&&!Tn(C,s.tabbableOptions)&&!he.nextTabbableNode(C))&&(Me=U),Me>=0){var Ve=Me===i.tabbableGroups.length-1?0:Me+1,Et=i.tabbableGroups[Ve];W=dn(C)>=0?Et.firstTabbableNode:Et.firstDomTabbableNode}else vr($)||(W=he.nextTabbableNode(C))}}else W=u("fallbackFocus");return W},v=function(T){var C=to(T);if(!(l(C,T)>=0)){if(nr(s.clickOutsideDeactivates,T)){a.deactivate({returnFocus:s.returnFocusOnDeactivate});return}nr(s.allowOutsideClick,T)||T.preventDefault()}},b=function(T){var C=to(T),$=l(C,T)>=0;if($||C instanceof Document)$&&(i.mostRecentlyFocusedNode=C);else{T.stopImmediatePropagation();var J,j=!0;if(i.mostRecentlyFocusedNode)if(dn(i.mostRecentlyFocusedNode)>0){var W=l(i.mostRecentlyFocusedNode),U=i.containerGroups[W].tabbableNodes;if(U.length>0){var he=U.findIndex(function(be){return be===i.mostRecentlyFocusedNode});he>=0&&(s.isKeyForward(i.recentNavEvent)?he+1=0&&(J=U[he-1],j=!1))}}else i.containerGroups.some(function(be){return be.tabbableNodes.some(function(Ae){return dn(Ae)>0})})||(j=!1);else j=!1;j&&(J=_({target:i.mostRecentlyFocusedNode,isBackward:s.isKeyBackward(i.recentNavEvent)})),m(J||i.mostRecentlyFocusedNode||f())}i.recentNavEvent=void 0},y=function(T){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=T;var $=_({event:T,isBackward:C});$&&(vr(T)&&T.preventDefault(),m($))},g=function(T){if(zC(T)&&nr(s.escapeDeactivates,T)!==!1){T.preventDefault(),a.deactivate();return}(s.isKeyForward(T)||s.isKeyBackward(T))&&y(T,s.isKeyBackward(T))},P=function(T){var C=to(T);l(C,T)>=0||nr(s.clickOutsideDeactivates,T)||nr(s.allowOutsideClick,T)||(T.preventDefault(),T.stopImmediatePropagation())},S=function(){if(i.active)return El.activateTrap(o,a),i.delayInitialFocusTimer=s.delayInitialFocus?Cl(function(){m(f())}):m(f()),r.addEventListener("focusin",b,!0),r.addEventListener("mousedown",v,{capture:!0,passive:!1}),r.addEventListener("touchstart",v,{capture:!0,passive:!1}),r.addEventListener("click",P,{capture:!0,passive:!1}),r.addEventListener("keydown",g,{capture:!0,passive:!1}),a},A=function(){if(i.active)return r.removeEventListener("focusin",b,!0),r.removeEventListener("mousedown",v,!0),r.removeEventListener("touchstart",v,!0),r.removeEventListener("click",P,!0),r.removeEventListener("keydown",g,!0),a},I=function(T){var C=T.some(function($){var J=Array.from($.removedNodes);return J.some(function(j){return j===i.mostRecentlyFocusedNode})});C&&m(f())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(I):void 0,R=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(T){H.observe(T,{subtree:!0,childList:!0})}))};return a={get active(){return i.active},get paused(){return i.paused},activate:function(T){if(i.active)return this;var C=c(T,"onActivate"),$=c(T,"onPostActivate"),J=c(T,"checkCanFocusTrap");J||d(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,C==null||C();var j=function(){J&&d(),S(),R(),$==null||$()};return J?(J(i.containers.concat()).then(j,j),this):(j(),this)},deactivate:function(T){if(!i.active)return this;var C=wl({onDeactivate:s.onDeactivate,onPostDeactivate:s.onPostDeactivate,checkCanReturnFocus:s.checkCanReturnFocus},T);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,A(),i.active=!1,i.paused=!1,R(),El.deactivateTrap(o,a);var $=c(C,"onDeactivate"),J=c(C,"onPostDeactivate"),j=c(C,"checkCanReturnFocus"),W=c(C,"returnFocus","returnFocusOnDeactivate");$==null||$();var U=function(){Cl(function(){W&&m(p(i.nodeFocusedBeforeActivation)),J==null||J()})};return W&&j?(j(p(i.nodeFocusedBeforeActivation)).then(U,U),this):(U(),this)},pause:function(T){if(i.paused||!i.active)return this;var C=c(T,"onPause"),$=c(T,"onPostPause");return i.paused=!0,C==null||C(),A(),R(),$==null||$(),this},unpause:function(T){if(!i.paused||!i.active)return this;var C=c(T,"onUnpause"),$=c(T,"onPostUnpause");return i.paused=!1,C==null||C(),d(),S(),R(),$==null||$(),this},updateContainerElements:function(T){var C=[].concat(T).filter(Boolean);return i.containers=C.map(function($){return typeof $=="string"?r.querySelector($):$}),i.active&&d(),R(),this}},a.updateContainerElements(t),a};function QC(e,t={}){let n;const{immediate:r,...o}=t,s=le(!1),i=le(!1),a=f=>n&&n.activate(f),c=f=>n&&n.deactivate(f),l=()=>{n&&(n.pause(),i.value=!0)},u=()=>{n&&(n.unpause(),i.value=!1)};return ve(()=>wC(e),f=>{f&&(n=qC(f,{...o,onActivate(){s.value=!0,t.onActivate&&t.onActivate()},onDeactivate(){s.value=!1,t.onDeactivate&&t.onDeactivate()}}),r&&a())},{flush:"post"}),vC(()=>c()),{hasFocus:s,isPaused:i,activate:a,deactivate:c,pause:l,unpause:u}}var Pl;const os=typeof window<"u",JC=e=>typeof e<"u",ZC=e=>typeof e=="function",GC=e=>typeof e=="string",va=()=>{},YC=os&&((Pl=window==null?void 0:window.navigator)==null?void 0:Pl.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function ss(e){return typeof e=="function"?e():M(e)}function XC(e){return e}function jd(e){return jo()?(Kn(e),!0):!1}function eT(e,t=!0){pt()?Xt(e):t?e():wt(e)}function tT(e,t,n={}){const{immediate:r=!0}=n,o=le(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,i()}function c(...l){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...l)},ss(t))}return r&&(o.value=!0,os&&c()),jd(a),{isPending:$i(o),start:c,stop:a}}function cr(e){var t;const n=ss(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ba=os?window:void 0,nT=os?window.navigator:void 0;function Ut(...e){let t,n,r,o;if(GC(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=ba):[t,n,r,o]=e,!t)return va;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(u=>u()),s.length=0},a=(u,f,d,h)=>(u.addEventListener(f,d,h),()=>u.removeEventListener(f,d,h)),c=ve(()=>[cr(t),ss(o)],([u,f])=>{i(),u&&s.push(...n.flatMap(d=>r.map(h=>a(u,d,h,f))))},{immediate:!0,flush:"post"}),l=()=>{c(),i()};return jd(l),l}let xl=!1;function bP(e,t,n={}){const{window:r=ba,ignore:o=[],capture:s=!0,detectIframe:i=!1}=n;if(!r)return;YC&&!xl&&(xl=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",va)));let a=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(m=>m===d.target||d.composedPath().includes(m));{const m=cr(h);return m&&(d.target===m||d.composedPath().includes(m))}}),u=[Ut(r,"click",d=>{const h=cr(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}t(d)}},{passive:!0,capture:s}),Ut(r,"pointerdown",d=>{const h=cr(e);h&&(a=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),i&&Ut(r,"blur",d=>{var h;const m=cr(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function rT(e,t=!1){const n=le(),r=()=>n.value=!!e();return r(),eT(r,t),n}function wP(e={}){const{navigator:t=nT,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=["copy","cut"],a=rT(()=>t&&"clipboard"in t),c=ee(()=>a.value||s),l=le(""),u=le(!1),f=tT(()=>u.value=!1,o);function d(){a.value?t.clipboard.readText().then(_=>{l.value=_}):l.value=p()}if(c.value&&n)for(const _ of i)Ut(_,d);async function h(_=ss(r)){c.value&&_!=null&&(a.value?await t.clipboard.writeText(_):m(_),l.value=_,u.value=!0,f.start())}function m(_){const v=document.createElement("textarea");v.value=_??"",v.style.position="absolute",v.style.opacity="0",document.body.appendChild(v),v.select(),document.execCommand("copy"),v.remove()}function p(){var _,v,b;return(b=(v=(_=document==null?void 0:document.getSelection)==null?void 0:_.call(document))==null?void 0:v.toString())!=null?b:""}return{isSupported:c,text:l,copied:u,copy:h}}function oT(e){return JSON.parse(JSON.stringify(e))}const Sl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Al="__vueuse_ssr_handlers__";Sl[Al]=Sl[Al]||{};const sT={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function iT(e={}){const{reactive:t=!1,target:n=ba,aliasMap:r=sT,passive:o=!0,onEventFired:s=va}=e,i=tt(new Set),a={toJSON(){return{}},current:i},c=t?tt(a):a,l=new Set,u=new Set;function f(p,_){p in c&&(t?c[p]=_:c[p].value=_)}function d(){i.clear();for(const p of u)f(p,!1)}function h(p,_){var v,b;const y=(v=p.key)==null?void 0:v.toLowerCase(),P=[(b=p.code)==null?void 0:b.toLowerCase(),y].filter(Boolean);y&&(_?i.add(y):i.delete(y));for(const S of P)u.add(S),f(S,_);y==="meta"&&!_?(l.forEach(S=>{i.delete(S),f(S,!1)}),l.clear()):typeof p.getModifierState=="function"&&p.getModifierState("Meta")&&_&&[...i,...P].forEach(S=>l.add(S))}Ut(n,"keydown",p=>(h(p,!0),s(p)),{passive:o}),Ut(n,"keyup",p=>(h(p,!1),s(p)),{passive:o}),Ut("blur",d,{passive:!0}),Ut("focus",d,{passive:!0});const m=new Proxy(c,{get(p,_,v){if(typeof _!="string")return Reflect.get(p,_,v);if(_=_.toLowerCase(),_ in r&&(_=r[_]),!(_ in c))if(/[+_-]/.test(_)){const y=_.split(/[+_-]/g).map(g=>g.trim());c[_]=ee(()=>y.every(g=>M(m[g])))}else c[_]=le(!1);const b=Reflect.get(p,_,v);return t?M(b):b}});return m}var Rl;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Rl||(Rl={}));var aT=Object.defineProperty,Il=Object.getOwnPropertySymbols,cT=Object.prototype.hasOwnProperty,lT=Object.prototype.propertyIsEnumerable,kl=(e,t,n)=>t in e?aT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uT=(e,t)=>{for(var n in t||(t={}))cT.call(t,n)&&kl(e,n,t[n]);if(Il)for(var n of Il(t))lT.call(t,n)&&kl(e,n,t[n]);return e};const fT={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};uT({linear:XC},fT);function EP(e,t,n,r={}){var o,s,i;const{clone:a=!1,passive:c=!1,eventName:l,deep:u=!1,defaultValue:f}=r,d=pt(),h=n||(d==null?void 0:d.emit)||((o=d==null?void 0:d.$emit)==null?void 0:o.bind(d))||((i=(s=d==null?void 0:d.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(d==null?void 0:d.proxy));let m=l;t||(t="modelValue"),m=l||m||`update:${t.toString()}`;const p=v=>a?ZC(a)?a(v):oT(v):v,_=()=>JC(e[t])?p(e[t]):f;if(c){const v=_(),b=le(v);return ve(()=>e[t],y=>b.value=p(y)),ve(b,y=>{(y!==e[t]||u)&&h(m,y)},{deep:u}),b}else return ee({get(){return _()},set(v){h(m,v)}})}const Fr=e=>(cu("data-v-98e4ee4b"),e=e(),lu(),e),dT={class:"content"},hT=Fr(()=>se("span",null,"Search",-1)),pT=Fr(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),mT={class:"search-input"},gT=["onKeydown"],yT=["id","onMouseenter"],_T={class:"search-result-content-wrapper"},vT={class:"search-result-content-head"},bT={key:2},wT=Fr(()=>se("span",{class:"arrow",innerHTML:"→"},null,-1)),ET={key:0,class:"search-result-content-preview"},CT=Fr(()=>se("span",null,"“",-1)),TT=["innerHTML"],PT=Fr(()=>se("span",null,"“",-1)),xT={key:1,class:"search-results empty"},ST={key:2,class:"search-results empty"},AT=Re({__name:"AppSearch",props:{fuse:{type:Object,default:()=>({fuseOptions:{keys:["title","description","keywords","body"],ignoreLocation:!0,threshold:0,includeMatches:!0,includeScore:!0},matchAllWhenSearchEmpty:!0})}},async setup(e){let t,n;const r=e,o=le(""),s=le(),i=le(),a=le(),c=le(-1),l=le(!1),{close:u,open:f}=yd(),{activate:d,deactivate:h}=QC(s),{navigation:m}=Hr(),{meta_K:p,Escape:_}=iT(),{data:v}=([t,n]=Su(()=>zy("search-api",()=>$fetch("/api/search",{parseResponse:JSON.parse}))),t=await t,n(),t),{results:b}=bC(o,v,r.fuse);function y(R,O,T){for(const C of R){if(C._path===O)return{directoryTitle:T.title,directoryIcon:T.icon};if(C.children){const $=y(C.children,O,C);if($)return $}}}function g(R){let O;for(const T of m.value)if(T.children){const C=y(T.children,R,T);C&&(O=C)}return O}function P(R,O){const{indices:T,value:C}=O||{indices:[],value:""};if(R===C)return"";let $="",J=0;T.forEach(W=>{const U=W[1]+1,he=U-W[0]>=o.value.length;$+=[C.substring(J,W[0]),he&&"",C.substring(W[0],U),he&&""].filter(Boolean).join(""),J=U}),$+=C.substring(J);const j=$.indexOf("");return j>60&&($=`${$.substring(j-60)}`),`${$}”`}function S(){c.value===-1?c.value=0:c.value===b.value.length-1||(c.value=c.value+1)}function A(){c.value===-1?c.value=b.value.length-1:c.value===0||(c.value=c.value-1)}function I(R){var C,$;const O=($=(C=b==null?void 0:b.value)==null?void 0:C[R])==null?void 0:$.item,T=O==null?void 0:O.path;T&&(l.value=!1,ct().push(T))}function H(){var R,O;o.value?(o.value="",c.value=-1,(O=(R=i.value)==null?void 0:R.focus)==null||O.call(R)):l.value=!1}return Xt(()=>{const R=at();R.query.q&&(l.value=!0,o.value=R.query.q)}),ve(c,R=>{var T,C,$,J;const O=($=(C=(T=b==null?void 0:b.value)==null?void 0:T[R])==null?void 0:C.item)==null?void 0:$.id;O&&((J=document.querySelector(`[id="${O}"]`))==null||J.scrollIntoView({block:"nearest"}))}),ve(o,R=>{c.value=0}),ve(l,R=>{R?(f(),wt(()=>{d()})):(o.value="",c.value=-1,h(),u())}),ve(p,R=>{R&&(l.value=!l.value)}),ve(_,()=>{l.value&&(l.value=!1)}),(R,O)=>{const T=Mt;return Q(),ue(Pe,null,[se("button",{type:"button","aria-label":"Search",onClick:O[0]||(O[0]=C=>l.value=!0)},[se("span",dT,[ae(T,{name:"heroicons-outline:search"}),hT,pT])]),(Q(),de(Hu,{to:"body"},[M(l)?(Q(),ue("div",{key:0,ref_key:"searchContentRef",ref:s,class:"search-content",onClick:O[5]||(O[5]=C=>l.value=!1)},[se("div",{class:"search-window",onClick:O[4]||(O[4]=ir(()=>{},["stop"]))},[se("div",mT,[ae(T,{name:"heroicons-outline:search",class:"search-icon"}),pu(se("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":O[1]||(O[1]=C=>Le(o)?o.value=C:null),type:"text",placeholder:"Search documentation",onKeydown:[ys(ir(A,["prevent"]),["up"]),ys(ir(S,["prevent"]),["down"]),O[2]||(O[2]=ys(C=>I(M(c)),["enter"]))]},null,40,gT),[[dm,M(o)]]),se("button",{class:"close-button",onClick:H},[ae(T,{name:"heroicons:x-mark",class:"close-icon"})])]),M(b).length>0?(Q(),ue("div",{key:0,ref_key:"resultsAreaRef",ref:a,class:"search-results"},[(Q(!0),ue(Pe,null,Dn(M(b),(C,$)=>{var J,j,W,U,he,be,Ae,Se,Me,Ve;return Q(),ue("div",{id:C.item.id,key:C.item.id,class:Ue(["search-result",{selected:M(c)===$}]),onClick:O[3]||(O[3]=Et=>I(M(c))),onMouseenter:ir(Et=>c.value=$,["prevent"])},[se("div",_T,[se("div",vT,[(j=g((J=C==null?void 0:C.item)==null?void 0:J.path))!=null&&j.directoryIcon?(Q(),de(T,{key:0,name:(U=g((W=C==null?void 0:C.item)==null?void 0:W.path))==null?void 0:U.directoryIcon},null,8,["name"])):(Q(),de(T,{key:1,name:"solar:documents-bold-duotone"})),(be=g((he=C==null?void 0:C.item)==null?void 0:he.path))!=null&&be.directoryTitle?(Q(),ue("span",bT,[Mr(kt((Se=g((Ae=C==null?void 0:C.item)==null?void 0:Ae.path))==null?void 0:Se.directoryTitle)+" ",1),wT])):je("",!0),se("span",null,kt(C.item.title),1)]),(Me=C==null?void 0:C.matches)!=null&&Me[0]?(Q(),ue("p",ET,[CT,se("span",{innerHTML:`${P(M(o),(Ve=C==null?void 0:C.matches)==null?void 0:Ve[0])}`},null,8,TT),PT])):je("",!0)])],42,yT)}),128))],512)):M(o)?(Q(),ue("div",ST," No results found. Try another query ")):(Q(),ue("div",xT," Type your query to search docs "))])],512)):je("",!0)]))],64)}}});const Bd=Be(AT,[["__scopeId","data-v-98e4ee4b"]]),RT=Object.freeze(Object.defineProperty({__proto__:null,default:Bd},Symbol.toStringTag,{value:"Module"})),IT=Re({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(e,{slots:t,attrs:n}){const r=le(!1);return Xt(()=>{r.value=!0}),o=>{var c;if(r.value)return(c=t.default)==null?void 0:c.call(t);const s=t.fallback||t.placeholder;if(s)return s();const i=o.fallback||o.placeholder||"",a=o.fallbackTag||o.placeholderTag||"span";return ue(a,n,i)}}}),kT={name:R1,props:{placeholder:String,tag:{type:String,default:"span"}}};function OT(e,t,n,r,o,s){const i=IT;return Q(),de(i,{placeholder:n.placeholder,"placeholder-tag":n.tag},{default:nt(()=>[Vi(e.$slots,"default")]),_:3},8,["placeholder","placeholder-tag"])}const LT=Be(kT,[["render",OT]]),$T=()=>At("color-mode").value,MT=Re({__name:"ThemeSelect",setup(e){const t=$T(),n=()=>{const r=["system","light","dark"],s=(r.indexOf(t.preference)+1)%r.length;t.preference=r[s]};return(r,o)=>{const s=Mt,i=LT;return Q(),ue("button",{"aria-label":"Color Mode",onClick:n},[ae(i,{placeholder:"..."},{default:nt(()=>[M(t).preference==="dark"?(Q(),de(s,{key:0,name:"uil:moon"})):M(t).preference==="light"?(Q(),de(s,{key:1,name:"uil:sun"})):(Q(),de(s,{key:2,name:"uil:desktop"}))]),_:1})])}}});const Vd=Be(MT,[["__scopeId","data-v-87324333"]]),NT=Object.freeze(Object.defineProperty({__proto__:null,default:Vd},Symbol.toStringTag,{value:"Module"})),DT=Re({__name:"Container",props:{as:{type:String,required:!1,default:"div"},padded:{required:!1,type:[Boolean,Object],default:!0},fluid:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const t=e,n={padded:{true:{px:"{elements.container.padding.mobile}","@xs":{px:"{elements.container.padding.xs}"},"@sm":{px:"{elements.container.padding.sm}"},"@md":{px:"{elements.container.padding.md}"}}},fluid:{true:{},false:{maxWidth:"{elements.container.maxWidth}"}}},{$pinceau:r}=y1(t,n,void 0);return(o,s)=>(Q(),de(qo(e.as),{class:Ue(["container",[M(r)]])},{default:nt(()=>[Vi(o.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}});const wa=Be(DT,[["__scopeId","data-v-a8d7e2a7"]]),HT=Object.freeze(Object.defineProperty({__proto__:null,default:wa},Symbol.toStringTag,{value:"Module"})),FT={class:"section left"},jT={class:"section center"},BT={class:"section right"},VT={class:"social-icons"},zT=Re({__name:"AppHeader",props:{},setup(e){const{config:t}=tn(),{navigation:n}=Hr(),{hasDocSearch:r}=Ed(),o=ee(()=>{var s,i,a,c;return((s=n.value)==null?void 0:s.length)>1||((c=(a=(i=n.value)==null?void 0:i[0])==null?void 0:a.children)==null?void 0:c.length)});return(s,i)=>{var p,_;const a=_d,c=bd,l=wd,u=Td,f=Bd,d=Vd,h=rs,m=wa;return Q(),ue("header",{class:Ue({"has-dialog":M(o)})},[ae(m,{fluid:(_=(p=M(t))==null?void 0:p.header)==null?void 0:_.fluid},{default:nt(()=>[se("div",FT,[M(o)?(Q(),de(a,{key:0})):je("",!0),ae(c)]),se("div",jT,[M(o)?(Q(),de(c,{key:0})):je("",!0),ae(l)]),se("div",BT,[M(r)?(Q(),de(u,{key:0})):(Q(),de(f,{key:1,fuse:M(t).fuse},null,8,["fuse"])),ae(d),se("div",VT,[ae(h)])])]),_:1},8,["fluid"])],2)}}});const zd=Be(zT,[["__scopeId","data-v-f465a985"]]),UT=Object.freeze(Object.defineProperty({__proto__:null,default:zd},Symbol.toStringTag,{value:"Module"})),KT={class:"left"},WT=["href"],qT={key:1},QT={class:"center"},JT={class:"right"},ZT=["aria-label","href","rel"],GT=Re({__name:"AppFooter",setup(e){const{config:t}=tn(),n=le(null),r=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.iconLinks)||[]}),o=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.textLinks)||[]}),s=ee(()=>{var a;return Object.entries(((a=t.value)==null?void 0:a.socials)||{}).filter(([,c])=>c).length}),i=ee(()=>n.value?s.value:0);return(a,c)=>{var h,m;const l=Mt,u=Dr,f=rs,d=wa;return Q(),ue("footer",null,[ae(d,{fluid:(m=(h=M(t))==null?void 0:h.footer)==null?void 0:m.fluid,padded:"",class:"footer-container"},{default:nt(()=>{var p,_,v,b,y,g,P,S,A,I,H,R,O,T;return[se("div",KT,[(_=(p=M(t))==null?void 0:p.footer)!=null&&_.credits?(Q(),ue("a",{key:0,href:((y=(b=(v=M(t))==null?void 0:v.footer)==null?void 0:b.credits)==null?void 0:y.href)||"#",rel:"noopener",target:"_blank"},[(S=(P=(g=M(t))==null?void 0:g.footer)==null?void 0:P.credits)!=null&&S.icon?(Q(),de(l,{key:0,name:(H=(I=(A=M(t))==null?void 0:A.footer)==null?void 0:I.credits)==null?void 0:H.icon,class:"left-icon"},null,8,["name"])):je("",!0),(T=(O=(R=M(t))==null?void 0:R.footer)==null?void 0:O.credits)!=null&&T.text?(Q(),ue("p",qT,kt(M(t).footer.credits.text),1)):je("",!0)],8,WT)):je("",!0)]),se("div",QT,[(Q(!0),ue(Pe,null,Dn(M(o),C=>(Q(),de(u,{key:C.href,class:"text-link","aria-label":C.text,href:C.href,target:(C==null?void 0:C.target)||"_self",rel:(C==null?void 0:C.rel)||"noopener noreferrer"},{default:nt(()=>[Mr(kt(C.text),1)]),_:2},1032,["aria-label","href","target","rel"]))),128))]),se("div",JT,[(Q(!0),ue(Pe,null,Dn(M(r).slice(0,6-M(i)),C=>(Q(),ue("a",{key:C.label,class:"icon-link","aria-label":C.label,href:C.href,target:"_blank",rel:(C==null?void 0:C.rel)||"noopener noreferrer"},[ae(l,{name:C.icon},null,8,["name"])],8,ZT))),128)),ae(f,{ref_key:"socialIcons",ref:n},null,512)])]}),_:1},8,["fluid"])])}}});const Ud=Be(GT,[["__scopeId","data-v-39bdaab3"]]),YT=Object.freeze(Object.defineProperty({__proto__:null,default:Ud},Symbol.toStringTag,{value:"Module"})),XT=(e,t=at())=>{const n=M(e),r=Je();ve(()=>M(e),(s=n)=>{if(!t.path||!s)return;const i=Object.assign({},(s==null?void 0:s.head)||{});i.meta=[...i.meta||[]],i.link=[...i.link||[]];const a=i.title||(s==null?void 0:s.title);a&&(i.title=a),r.public.content.host;const c=(i==null?void 0:i.description)||(s==null?void 0:s.description);c&&i.meta.filter(l=>l.name==="description").length===0&&i.meta.push({name:"description",content:c}),i!=null&&i.image||(s==null||s.image),wt(()=>xo(i))},{immediate:!0})},eP={class:"app-layout"},tP=Re({__name:"AppLayout",setup(e){const{config:t}=tn();return xo({titleTemplate:t.value.titleTemplate,meta:[{name:"twitter:card",content:"summary_large_image"}]}),ve(()=>t.value.titleTemplate,()=>xo({titleTemplate:t.value.titleTemplate})),XT(t.value),(n,r)=>{const o=Xf,s=zd,i=Ud;return Q(),ue("div",eP,[ae(o),ae(s),se("main",null,[Vi(n.$slots,"default",{},void 0,!0)]),ae(i)])}}});const Kd=Be(tP,[["__scopeId","data-v-5c2f7786"]]),nP=Object.freeze(Object.defineProperty({__proto__:null,default:Kd},Symbol.toStringTag,{value:"Module"})),rP={};function oP(e,t){const n=V1,r=Kd;return Q(),de(r,null,{default:nt(()=>[ae(n)]),_:1})}const sP=Be(rP,[["render",oP]]),iP={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;(n.stack||"").split(` +`).splice(1).map(f=>({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`${f.text}`).join(` +`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,u=o?B(()=>D(()=>import("./error-404.2036e8fd.js"),["./error-404.2036e8fd.js","./error-404.e7689c2d.css"],import.meta.url).then(f=>f.default||f)):B(()=>D(()=>import("./error-500.c9d7c89a.js"),["./error-500.c9d7c89a.js","./error-500.92b46a75.css"],import.meta.url).then(f=>f.default||f));return(f,d)=>(Q(),de(M(u),rh(zu({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},Ol={__name:"nuxt-root",setup(e){const t=()=>null,n=ge(),r=n.deferHydration(),o=!1;Mn(Zo,at()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=Go();Cu((a,c,l)=>{if(n.hooks.callHook("vue:error",a,c,l).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),Ny(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>An(a)),!1});const i=!1;return(a,c)=>(Q(),de(fu,{onResolve:M(r)},{default:nt(()=>[M(s)?(Q(),de(M(iP),{key:0,error:M(s)},null,8,["error"])):M(i)?(Q(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(Q(),de(qo(M(o)),{key:2})):(Q(),de(M(sP),{key:3}))]),_:1},8,["onResolve"]))}};globalThis.$fetch||(globalThis.$fetch=cg.create({baseURL:ug()}));let Ll;{let e;Ll=async function(){var s,i;if(e)return e;const r=!!((s=window.__NUXT__)!=null&&s.serverRendered||((i=document.getElementById("__NUXT_DATA__"))==null?void 0:i.dataset.ssr)==="true")?vm(Ol):_m(Ol),o=Cg({vueApp:r});try{await Pg(o,D1)}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(By),await o.hooks.callHook("app:mounted",r),await wt()}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}return r},e=Ll().catch(t=>{console.error("Error while mounting app:",t)})}export{ve as $,Sn as A,me as B,xo as C,Mr as D,Dr as E,Pe as F,Fe as G,fP as H,ee as I,M as J,ar as K,uP as L,B1 as M,et as N,Lp as O,Zo as P,wt as Q,Mn as R,fu as S,Qi as T,Oy as U,Hr as V,XT as W,de as X,y1 as Y,Vi as Z,D as _,Tr as a,cP as a0,lp as a1,Db as a2,Hn as a3,li as a4,Sr as a5,ia as a6,vP as a7,Mt as a8,tn as a9,Qc as aA,yP as aB,Tt as aC,dP as aD,gP as aE,hP as aF,pP as aG,mP as aH,Bb as aI,ya as aa,en as ab,Jn as ac,wa as ad,Nb as ae,oa as af,wu as ag,Dn as ah,ir as ai,wP as aj,bP as ak,Yu as al,pu as am,Gp as an,pt as ao,Vy as ap,$T as aq,EP as ar,Le as as,_P as at,wo as au,aP as av,So as aw,zb as ax,Un as ay,lP as az,Q as b,ue as c,Re as d,se as e,je as f,ae as g,so as h,lu as i,ge as j,Be as k,Je as l,At as m,Ue as n,Xt as o,cu as p,ao as q,le as r,at as s,kt as t,ct as u,af as v,nt as w,ea as x,pr as y,_m as z}; diff --git a/.output/public/_nuxt/entry.2685c6ae.css b/.output/public/_nuxt/entry.2685c6ae.css new file mode 100644 index 0000000000..8072c1f0fb --- /dev/null +++ b/.output/public/_nuxt/entry.2685c6ae.css @@ -0,0 +1 @@ +.dark:root,:root{--docsearch-primary-color:var(--color-primary-500)!important}.dark:root{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497;color-scheme:dark}.DocSearch-Input:focus{box-shadow:none!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--docus-body-backgroundColor);color:var(--docus-body-color);font-family:var(--docus-body-fontFamily);min-width:var(--size-xs);overflow-y:scroll}.docus-scrollbars ::-webkit-scrollbar{background:transparent;height:.6em;width:.6em}.docus-scrollbars ::-webkit-scrollbar-track{background:var(--color-gray-100)}.docus-scrollbars ::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:.6em}.docus-scrollbars ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.docus-scrollbars ::-webkit-scrollbar-thumb:active{background:var(--color-gray-500)}.docus-scrollbars.dark ::-webkit-scrollbar-track{background:var(--color-gray-800)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb{background:var(--color-gray-700)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb:active{background:var(--color-gray-500)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}.nuxt-progress{background:repeating-linear-gradient(to right,var(--docus-loadingBar-gradientColorStop1) 0,var(--docus-loadingBar-gradientColorStop2) 50%,var(--docus-loadingBar-gradientColorStop3) 100%);height:var(--docus-loadingBar-height);left:0;opacity:1;position:fixed;right:0;top:0;transition:width .1s,height .4s,opacity .4s;width:0;z-index:999999}.icon[data-v-e610b8e3]{display:inline-block;vertical-align:middle}a[data-v-22569e45]{color:var(--color-gray-500);display:flex;padding:var(--space-4)}:root.dark a[data-v-22569e45]{color:var(--color-gray-400)}a[data-v-22569e45]:hover{color:var(--color-gray-700)}:root.dark a[data-v-22569e45]:hover{color:var(--color-gray-200)}.docs-aside-tree li.bordered[data-v-d42239fd]{border-left:1px solid var(--elements-border-primary-static)}.docs-aside-tree li.bordered[data-v-d42239fd]:hover{border-color:var(--elements-border-primary-hover)}.docs-aside-tree li.bordered.active[data-v-d42239fd]{border-color:var(--color-primary-400)}:root.dark .docs-aside-tree li.bordered.active[data-v-d42239fd]{border-color:var(--color-primary-600)}.docs-aside-tree li.bordered.has-children[data-v-d42239fd]{padding-left:var(--space-4)}.docs-aside-tree li.bordered.has-parent-icon[data-v-d42239fd]{margin-left:var(--space-2)}.docs-aside-tree .recursive[data-v-d42239fd]{padding:var(--space-2) 0}.docs-aside-tree .title-collapsible-button[data-v-d42239fd]{align-items:center;color:var(--color-gray-900);display:flex;font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-semibold);justify-content:space-between;line-height:var(--text-sm-lineHeight);padding:var(--space-rem-375) 0;width:100%}:root.dark .docs-aside-tree .title-collapsible-button[data-v-d42239fd]{color:var(--color-gray-50)}.docs-aside-tree .title-collapsible-button .content[data-v-d42239fd]{align-items:center;display:flex}.docs-aside-tree .title-collapsible-button .content .icon[data-v-d42239fd]{height:var(--space-4);margin-right:var(--space-2);width:var(--space-4)}.docs-aside-tree .title-collapsible-button .collapsible-icon[data-v-d42239fd]{color:var(--color-gray-400);height:var(--space-3);width:var(--space-3)}.docs-aside-tree .link[data-v-d42239fd],:root.dark .docs-aside-tree .title-collapsible-button .collapsible-icon[data-v-d42239fd]{color:var(--color-gray-500)}.docs-aside-tree .link[data-v-d42239fd]{align-items:center;display:flex;font-size:var(--text-sm-fontSize);justify-content:space-between;line-height:var(--text-sm-lineHeight);padding:var(--space-rem-375) 0}.docs-aside-tree .link[data-v-d42239fd]:hover{color:var(--color-gray-900)}:root.dark .docs-aside-tree .link[data-v-d42239fd]:not(.active){color:var(--color-gray-400)}:root.dark .docs-aside-tree .link[data-v-d42239fd]:not(.active):hover{color:var(--color-gray-50)}.docs-aside-tree .link.padded[data-v-d42239fd]{padding-left:var(--space-4)}.docs-aside-tree .link.active[data-v-d42239fd]{color:var(--color-primary-500);font-weight:var(--fontWeight-medium)}.docs-aside-tree .link .content[data-v-d42239fd]{align-items:center;display:inline-flex}.docs-aside-tree .link .icon[data-v-d42239fd]{height:var(--space-4);margin-right:var(--space-1);width:var(--space-4)}button[data-v-8fd30205]{display:flex;padding:var(--space-4) var(--space-4) var(--space-4) 0;position:relative;z-index:10}@media (min-width:1024px){button[data-v-8fd30205]{display:none}}button[data-v-8fd30205]{color:var(--color-gray-500)}:root.dark button[data-v-8fd30205]{color:var(--color-gray-400)}button[data-v-8fd30205]:hover{color:var(--color-gray-700)}:root.dark button[data-v-8fd30205]:hover{color:var(--color-gray-200)}.dialog[data-v-8fd30205]{align-items:flex-start;-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:#ffffff80;display:flex;top:0;right:0;bottom:0;left:0;overflow-y:auto;position:fixed;z-index:50}:root.dark .dialog[data-v-8fd30205]{background-color:#00000080}@media (min-width:1024px){.dialog[data-v-8fd30205]{display:none}}.dialog .icons[data-v-8fd30205]{overflow:auto}.dialog>div[data-v-8fd30205]{background-color:var(--color-white);box-shadow:var(--shadow-md);max-width:var(--size-xs);min-height:100%;padding-left:var(--space-4);padding-right:var(--space-4);width:100%}:root.dark .dialog>div[data-v-8fd30205]{background-color:var(--color-black)}@media (min-width:640px){.dialog>div[data-v-8fd30205]{padding-left:var(--space-6);padding-right:var(--space-6)}}.dialog>div>div[data-v-8fd30205]{border-bottom:1px solid transparent;gap:var(--space-2);height:var(--docus-header-height);justify-content:space-between}.dialog>div>div[data-v-8fd30205],.dialog>div>div .icons[data-v-8fd30205]{align-items:center;display:flex}[data-v-8fd30205] .icon{height:var(--space-4);width:var(--space-4)}svg[data-v-fca4477e]{color:var(--color-gray-900);height:inherit}:root.dark svg[data-v-fca4477e]{color:var(--color-gray-100)}a[data-v-58a8631e]{align-items:center;display:flex;flex:none}a .logo[data-v-58a8631e]{height:var(--docus-header-logo-height);width:auto}a .logo img[data-v-58a8631e],a .logo svg[data-v-58a8631e]{height:inherit}a .logo .light-img[data-v-58a8631e]{display:block}:root.dark a .logo .light-img[data-v-58a8631e],a .logo .dark-img[data-v-58a8631e]{display:none}:root.dark a .logo .dark-img[data-v-58a8631e]{display:block}a .title[data-v-58a8631e]{color:var(--docus-header-title-color-static);font-size:var(--docus-header-title-fontSize);font-weight:var(--docus-header-title-fontWeight)}a .title[data-v-58a8631e]:hover{color:var(--docus-header-title-color-hover)}nav[data-v-4fab471c]{display:none}@media (min-width:1024px){nav[data-v-4fab471c]{display:block}}nav ul[data-v-4fab471c]{align-items:center;display:flex;flex:1;justify-content:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav ul>*+*[data-v-4fab471c]{margin-left:var(--space-2)}nav ul li[data-v-4fab471c]{display:inline-flex;gap:var(--space-1)}nav ul .link[data-v-4fab471c]{align-items:center;border-radius:var(--radii-md);display:flex;font-size:var(--fontSize-sm);gap:var(--space-2);outline:none;padding:var(--space-2) var(--space-4);transition:background .2s ease}nav ul .link svg[data-v-4fab471c]{display:inline-block}nav ul .link.active[data-v-4fab471c],nav ul .link[data-v-4fab471c]:active,nav ul .link[data-v-4fab471c]:hover{background-color:var(--color-gray-100)}:root.dark nav ul .link.active[data-v-4fab471c],:root.dark nav ul .link[data-v-4fab471c]:active,:root.dark nav ul .link[data-v-4fab471c]:hover{background-color:var(--color-gray-900)}nav ul .link.active[data-v-4fab471c]{box-shadow:inset 0 2px 4px #0000000d;font-weight:var(--fontWeight-semibold)}button[data-v-67a6a092]{padding:var(--space-2) var(--space-2)}button .content[data-v-67a6a092]{align-items:center;border-color:var(--color-gray-100);border-radius:var(--radii-md);border-style:solid;border-width:1px;color:var(--color-gray-500);display:flex;font-size:var(--fontSize-xs);gap:var(--space-2);padding:var(--space-rem-375)}:root.dark button .content[data-v-67a6a092]{border-color:var(--color-gray-900);color:var(--color-gray-400)}button .content[data-v-67a6a092]:hover{border-color:var(--color-gray-400);color:var(--color-gray-700)}:root.dark button .content[data-v-67a6a092]:hover{border-color:var(--color-gray-700);color:var(--color-gray-200)}button .content span[data-v-67a6a092]{display:none;flex:none;font-size:var(--fontSize-xs)}@media (min-width:1024px){button .content span[data-v-67a6a092]{display:block}}button[data-v-98e4ee4b]{padding:var(--space-2) var(--space-2)}button .content[data-v-98e4ee4b]{align-items:center;border-color:var(--color-gray-100);border-radius:var(--radii-md);border-style:solid;border-width:1px;color:var(--color-gray-500);display:flex;font-size:var(--fontSize-xs);gap:var(--space-2);padding:var(--space-rem-375)}:root.dark button .content[data-v-98e4ee4b]{border-color:var(--color-gray-900);color:var(--color-gray-400)}button .content[data-v-98e4ee4b]:hover{border-color:var(--color-gray-400);color:var(--color-gray-700)}:root.dark button .content[data-v-98e4ee4b]:hover{border-color:var(--color-gray-700);color:var(--color-gray-200)}button .content span[data-v-98e4ee4b]{display:none;flex:none;font-size:var(--fontSize-xs)}@media (min-width:1024px){button .content span[data-v-98e4ee4b]{display:block}}.search-content[data-v-98e4ee4b]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:#ffffff80;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:50}:root.dark .search-content[data-v-98e4ee4b]{background-color:#00000080}.search-content .search-window[data-v-98e4ee4b]{-webkit-backdrop-filter:var(--docus-search-backdropFilter);backdrop-filter:var(--docus-search-backdropFilter);border:1px solid var(--elements-border-primary-static);border-radius:var(--docus-search-results-window-borderRadius);display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;margin-left:var(--docus-search-results-window-marginX);margin-right:var(--docus-search-results-window-marginX);margin-top:var(--docus-search-results-window-marginTop);max-height:var(--docus-search-results-window-maxHeight);max-width:var(--docus-search-results-window-maxWidth);overflow:hidden;width:100%}.search-content .search-window .search-input[data-v-98e4ee4b]{align-items:center;background-color:var(--docus-search-input-backgroundColor);display:flex}.search-content .search-window .search-input .search-icon[data-v-98e4ee4b]{color:var(--elements-text-tertiary-color-static);flex-shrink:0;height:var(--size-20);margin-left:var(--space-4);margin-right:var(--space-4);width:var(--size-20)}.search-content .search-window .search-input .close-button[data-v-98e4ee4b]{display:flex;padding:var(--space-3)}.search-content .search-window .search-input .close-icon[data-v-98e4ee4b]{color:var(--elements-text-secondary-color-static);flex-shrink:0;height:var(--size-20);width:var(--size-20)}.search-content .search-window .search-input input[data-v-98e4ee4b]{background-color:transparent;color:var(--elements-text-primary-color-static);padding:var(--space-2) 0;width:100%}.search-content .search-window .search-input input[data-v-98e4ee4b]:focus,.search-content .search-window .search-input input[data-v-98e4ee4b]:focus-visible{outline:none}.search-content .search-window .search-input input[data-v-98e4ee4b]::-moz-placeholder{color:var(--elements-text-tertiary-color-static);opacity:.5}.search-content .search-window .search-input input[data-v-98e4ee4b]::placeholder{color:var(--elements-text-tertiary-color-static);opacity:.5}.search-content .search-window .search-input[data-v-98e4ee4b]:focus,.search-content .search-window .search-input[data-v-98e4ee4b]:focus-visible{outline:none}.search-content .search-window .search-results[data-v-98e4ee4b]{display:flex;flex-direction:column;overflow:auto}.search-content .search-window .search-results.empty[data-v-98e4ee4b]{align-items:center;color:var(--elements-text-tertiary-color-static);display:flex;height:80px;justify-content:center}.search-content .search-window .search-result[data-v-98e4ee4b]{align-items:center;cursor:pointer;display:flex;padding:var(--space-1) var(--space-2)}.search-content .search-window .search-result.selected[data-v-98e4ee4b]{background-color:var(--docus-search-results-selected-backgroundColor)}.search-content .search-window .search-result .search-result-content-wrapper[data-v-98e4ee4b]{border-radius:var(--radii-2xs);display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden;padding:var(--space-2) 0}.search-content .search-window .search-result .search-result-content-head[data-v-98e4ee4b]{align-items:center;display:flex;gap:var(--space-2)}.search-content .search-window .search-result .search-result-content-head svg[data-v-98e4ee4b]{flex-shrink:0;height:var(--size-20);margin-left:var(--space-2);margin-right:var(--space-2);opacity:.5;width:var(--size-20)}.search-content .search-window .search-result .search-result-content-head span[data-v-98e4ee4b]{white-space:nowrap}.search-content .search-window .search-result .search-result-content-head .arrow[data-v-98e4ee4b]{opacity:.5}.search-content .search-window .search-result .search-result-content-preview[data-v-98e4ee4b]{color:var(--elements-text-secondary-color-static);overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.search-content .search-window .search-result[data-v-98e4ee4b] mark{background-color:var(--docus-search-results-highlight-backgroundColor);color:var(--docus-search-results-highlight-color)}button[data-v-87324333]{color:var(--color-gray-500);display:flex;padding:var(--space-4)}:root.dark button[data-v-87324333]{color:var(--color-gray-400)}button[data-v-87324333]:hover{color:var(--color-gray-700)}:root.dark button[data-v-87324333]:hover{color:var(--color-gray-200)}.container[data-v-a8d7e2a7]{margin-inline-end:auto;margin-inline-start:auto;width:100%}[data-v-f465a985] .icon{height:var(--space-4);width:var(--space-4)}.has-dialog .left .navbar-logo[data-v-f465a985]{display:none}@media (min-width:1024px){.has-dialog .left .navbar-logo[data-v-f465a985]{display:block}}.center .navbar-logo[data-v-f465a985]{display:block}@media (min-width:1024px){.center .navbar-logo[data-v-f465a985]{display:none}}header[data-v-f465a985]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:var(--elements-backdrop-background);border-bottom:1px solid var(--elements-border-primary-static);height:var(--docus-header-height);position:sticky;top:0;width:100%;z-index:10}header .container[data-v-f465a985]{display:grid;gap:var(--space-2);grid-template-columns:repeat(12,minmax(0,1fr));height:100%}header .section[data-v-f465a985]{align-items:center;display:flex;flex:none}header .section.left[data-v-f465a985]{grid-column:span 4/span 4}@media (min-width:1024px){header .section.left[data-v-f465a985]{margin-left:0}}header .section.center[data-v-f465a985]{flex:1;grid-column:span 4/span 4;justify-content:center;z-index:1}header .section.right[data-v-f465a985]{align-items:center;display:flex;flex:none;grid-column:span 4/span 4;justify-content:flex-end;margin-right:calc(0px - var(--space-4))}header .section.right .social-icons[data-v-f465a985]{display:none}@media (min-width:768px){header .section.right .social-icons[data-v-f465a985]{align-items:center;display:flex}}footer[data-v-39bdaab3]{border-top:1px solid var(--elements-border-primary-static);display:flex;min-height:var(--docus-footer-height);padding:var(--docus-footer-padding)}footer .footer-container[data-v-39bdaab3]{display:grid;gap:var(--space-2);grid-template-columns:repeat(12,minmax(0,1fr));justify-items:center}@media (min-width:640px){footer .footer-container[data-v-39bdaab3]{justify-items:legacy}}footer .footer-container[data-v-39bdaab3] .icon{height:var(--space-4);width:var(--space-4)}footer .footer-container a[data-v-39bdaab3]{color:var(--color-gray-500)}:root.dark footer .footer-container a[data-v-39bdaab3]{color:var(--color-gray-400)}footer .footer-container a[data-v-39bdaab3]:hover{color:var(--color-gray-700)}:root.dark footer .footer-container a[data-v-39bdaab3]:hover{color:var(--color-gray-200)}footer .footer-container .left[data-v-39bdaab3]{display:flex;grid-column:span 12/span 12;order:1;padding-bottom:var(--space-4);padding-top:var(--space-4)}@media (min-width:640px){footer .footer-container .left[data-v-39bdaab3]{grid-column:span 3/span 3;order:0}}footer .footer-container .left a[data-v-39bdaab3]{align-items:center;display:flex}footer .footer-container .left p[data-v-39bdaab3]{font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight)}footer .footer-container .left-icon[data-v-39bdaab3]{fill:currentcolor;flex-shrink:0;height:var(--space-4);margin-right:var(--space-2);width:var(--space-4)}footer .footer-container .center[data-v-39bdaab3]{align-items:center;display:flex;flex-direction:column;grid-column:span 12/span 12}@media (min-width:640px){footer .footer-container .center[data-v-39bdaab3]{flex-direction:row;grid-column:span 6/span 6;justify-content:center}}footer .footer-container .center .text-link[data-v-39bdaab3]{font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-sm-lineHeight);padding:var(--space-2)}footer .footer-container .right[data-v-39bdaab3]{align-items:center;display:flex;grid-column:span 12/span 12;justify-content:flex-end}@media (min-width:640px){footer .footer-container .right[data-v-39bdaab3]{grid-column:span 3/span 3;margin-right:calc(0px - var(--space-4))}}footer .footer-container .right .icon-link[data-v-39bdaab3]{display:flex;padding:var(--space-4)}.app-layout main[data-v-5c2f7786]{min-height:calc(100vh - var(--docus-header-height) - var(--docus-footer-height))} diff --git a/.output/public/_nuxt/error-404.2036e8fd.js b/.output/public/_nuxt/error-404.2036e8fd.js new file mode 100644 index 0000000000..c93dae301c --- /dev/null +++ b/.output/public/_nuxt/error-404.2036e8fd.js @@ -0,0 +1 @@ +import{k as n,C as a,b as r,c as d,e,t as s,g as c,w as l,D as p,E as x,p as f,i as h}from"./entry.19040e7f.js";const m=t=>(f("data-v-ccd3db62"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=x;return r(),d("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[c(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:l(()=>[p(s(t.backHome),1)]),_:1})])])])}}},C=n(S,[["__scopeId","data-v-ccd3db62"]]);export{C as default}; diff --git a/.output/public/_nuxt/error-404.e7689c2d.css b/.output/public/_nuxt/error-404.e7689c2d.css new file mode 100644 index 0000000000..63f2e0ae37 --- /dev/null +++ b/.output/public/_nuxt/error-404.e7689c2d.css @@ -0,0 +1 @@ +.spotlight[data-v-ccd3db62]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-ccd3db62]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-ccd3db62]{background-color:#ffffff4d}.gradient-border[data-v-ccd3db62]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){html:not(.light) .gradient-border[data-v-ccd3db62]{background-color:#1414144d}html:not(.light) .gradient-border[data-v-ccd3db62]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}html.dark .gradient-border[data-v-ccd3db62]{background-color:#1414144d}html.dark .gradient-border[data-v-ccd3db62]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}.gradient-border[data-v-ccd3db62]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-ccd3db62]:hover:before{background-position:-50% 0;opacity:1}.bg-white[data-v-ccd3db62]{--tw-bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.cursor-pointer[data-v-ccd3db62]{cursor:pointer}.flex[data-v-ccd3db62]{display:flex}.grid[data-v-ccd3db62]{display:grid}.place-content-center[data-v-ccd3db62]{place-content:center}.items-center[data-v-ccd3db62]{align-items:center}.justify-center[data-v-ccd3db62]{justify-content:center}.font-sans[data-v-ccd3db62]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-ccd3db62]{font-weight:500}.font-light[data-v-ccd3db62]{font-weight:300}.text-8xl[data-v-ccd3db62]{font-size:6rem;line-height:1}.text-xl[data-v-ccd3db62]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-ccd3db62]{line-height:1.25}.mb-8[data-v-ccd3db62]{margin-bottom:2rem}.mb-16[data-v-ccd3db62]{margin-bottom:4rem}.max-w-520px[data-v-ccd3db62]{max-width:520px}.min-h-screen[data-v-ccd3db62]{min-height:100vh}.overflow-hidden[data-v-ccd3db62]{overflow:hidden}.px-8[data-v-ccd3db62]{padding-left:2rem;padding-right:2rem}.py-2[data-v-ccd3db62]{padding-bottom:.5rem;padding-top:.5rem}.px-4[data-v-ccd3db62]{padding-left:1rem;padding-right:1rem}.fixed[data-v-ccd3db62]{position:fixed}.left-0[data-v-ccd3db62]{left:0}.right-0[data-v-ccd3db62]{right:0}.text-center[data-v-ccd3db62]{text-align:center}.text-black[data-v-ccd3db62]{--tw-text-opacity:1;color:#000;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-ccd3db62]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-ccd3db62]{width:100%}.z-10[data-v-ccd3db62]{z-index:10}.z-20[data-v-ccd3db62]{z-index:20}@media (min-width:640px){.sm\:text-4xl[data-v-ccd3db62]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-ccd3db62]{font-size:1.25rem;line-height:1.75rem}.sm\:text-10xl[data-v-ccd3db62]{font-size:10rem;line-height:1}.sm\:px-0[data-v-ccd3db62]{padding-left:0;padding-right:0}.sm\:py-3[data-v-ccd3db62]{padding-bottom:.75rem;padding-top:.75rem}.sm\:px-6[data-v-ccd3db62]{padding-left:1.5rem;padding-right:1.5rem}}@media (prefers-color-scheme:dark){html:not(.light) .dark\:bg-black[data-v-ccd3db62]{--tw-bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html:not(.light) .dark\:text-white[data-v-ccd3db62]{--tw-text-opacity:1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity))}}html.dark .dark\:bg-black[data-v-ccd3db62]{--tw-bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html.dark .dark\:text-white[data-v-ccd3db62]{--tw-text-opacity:1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity))} diff --git a/.output/public/_nuxt/error-500.92b46a75.css b/.output/public/_nuxt/error-500.92b46a75.css new file mode 100644 index 0000000000..cc704e28c2 --- /dev/null +++ b/.output/public/_nuxt/error-500.92b46a75.css @@ -0,0 +1 @@ +.spotlight[data-v-df79c84d]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.bg-white[data-v-df79c84d]{--tw-bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.grid[data-v-df79c84d]{display:grid}.place-content-center[data-v-df79c84d]{place-content:center}.font-sans[data-v-df79c84d]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-df79c84d]{font-weight:500}.font-light[data-v-df79c84d]{font-weight:300}.h-1\/2[data-v-df79c84d]{height:50%}.text-8xl[data-v-df79c84d]{font-size:6rem;line-height:1}.text-xl[data-v-df79c84d]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-df79c84d]{line-height:1.25}.mb-8[data-v-df79c84d]{margin-bottom:2rem}.mb-16[data-v-df79c84d]{margin-bottom:4rem}.max-w-520px[data-v-df79c84d]{max-width:520px}.min-h-screen[data-v-df79c84d]{min-height:100vh}.overflow-hidden[data-v-df79c84d]{overflow:hidden}.px-8[data-v-df79c84d]{padding-left:2rem;padding-right:2rem}.fixed[data-v-df79c84d]{position:fixed}.left-0[data-v-df79c84d]{left:0}.right-0[data-v-df79c84d]{right:0}.-bottom-1\/2[data-v-df79c84d]{bottom:-50%}.text-center[data-v-df79c84d]{text-align:center}.text-black[data-v-df79c84d]{--tw-text-opacity:1;color:#000;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-df79c84d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:640px){.sm\:text-4xl[data-v-df79c84d]{font-size:2.25rem;line-height:2.5rem}.sm\:text-10xl[data-v-df79c84d]{font-size:10rem;line-height:1}.sm\:px-0[data-v-df79c84d]{padding-left:0;padding-right:0}}@media (prefers-color-scheme:dark){html:not(.light) .dark\:bg-black[data-v-df79c84d]{--tw-bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html:not(.light) .dark\:text-white[data-v-df79c84d]{--tw-text-opacity:1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity))}}html.dark .dark\:bg-black[data-v-df79c84d]{--tw-bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html.dark .dark\:text-white[data-v-df79c84d]{--tw-text-opacity:1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity))} diff --git a/.output/public/_nuxt/error-500.c9d7c89a.js b/.output/public/_nuxt/error-500.c9d7c89a.js new file mode 100644 index 0000000000..e73c945d17 --- /dev/null +++ b/.output/public/_nuxt/error-500.c9d7c89a.js @@ -0,0 +1 @@ +import{k as i,C as a,b as r,c as n,e,t as s,p as l,i as d}from"./entry.19040e7f.js";const c=t=>(l("data-v-df79c84d"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(b,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(x,[["__scopeId","data-v-df79c84d"]]);export{w as default}; diff --git a/.output/public/_nuxt/index.17e44084.js b/.output/public/_nuxt/index.17e44084.js new file mode 100644 index 0000000000..8c97d36e0f --- /dev/null +++ b/.output/public/_nuxt/index.17e44084.js @@ -0,0 +1 @@ +const d=Object.create(null);d.open="0";d.close="1";d.ping="2";d.pong="3";d.message="4";d.upgrade="5";d.noop="6";const O=Object.create(null);Object.keys(d).forEach(s=>{O[d[s]]=s});const L={type:"error",data:"parser error"},te=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",se=typeof ArrayBuffer=="function",ne=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s&&s.buffer instanceof ArrayBuffer,V=({type:s,data:e},t,n)=>te&&e instanceof Blob?t?n(e):$(e,n):se&&(e instanceof ArrayBuffer||ne(e))?t?n(e):$(new Blob([e]),n):n(d[s]+(e||"")),$=(s,e)=>{const t=new FileReader;return t.onload=function(){const n=t.result.split(",")[1];e("b"+(n||""))},t.readAsDataURL(s)};function Y(s){return s instanceof Uint8Array?s:s instanceof ArrayBuffer?new Uint8Array(s):new Uint8Array(s.buffer,s.byteOffset,s.byteLength)}let S;function ye(s,e){if(te&&s.data instanceof Blob)return s.data.arrayBuffer().then(Y).then(e);if(se&&(s.data instanceof ArrayBuffer||ne(s.data)))return e(Y(s.data));V(s,!1,t=>{S||(S=new TextEncoder),e(S.encode(t))})}const z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let s=0;s{let e=s.length*.75,t=s.length,n,i=0,r,o,h,a;s[s.length-1]==="="&&(e--,s[s.length-2]==="="&&e--);const g=new ArrayBuffer(e),y=new Uint8Array(g);for(n=0;n>4,y[i++]=(o&15)<<4|h>>2,y[i++]=(h&3)<<6|a&63;return g},me=typeof ArrayBuffer=="function",F=(s,e)=>{if(typeof s!="string")return{type:"message",data:ie(s,e)};const t=s.charAt(0);return t==="b"?{type:"message",data:be(s.substring(1),e)}:O[t]?s.length>1?{type:O[t],data:s.substring(1)}:{type:O[t]}:L},be=(s,e)=>{if(me){const t=ge(s);return ie(t,e)}else return{base64:!0,data:s}},ie=(s,e)=>{switch(e){case"blob":return s instanceof Blob?s:new Blob([s]);case"arraybuffer":default:return s instanceof ArrayBuffer?s:s.buffer}},re=String.fromCharCode(30),we=(s,e)=>{const t=s.length,n=new Array(t);let i=0;s.forEach((r,o)=>{V(r,!1,h=>{n[o]=h,++i===t&&e(n.join(re))})})},ve=(s,e)=>{const t=s.split(re),n=[];for(let i=0;i{const n=t.length;let i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,n)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(n))}s.data&&typeof s.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let x;function k(s){return s.reduce((e,t)=>e+t.length,0)}function A(s,e){if(s[0].length===e)return s.shift();const t=new Uint8Array(e);let n=0;for(let i=0;iMath.pow(2,53-32)-1){h.enqueue(L);break}i=y*Math.pow(2,32)+g.getUint32(4),n=3}else{if(k(t)s){h.enqueue(L);break}}}})}const oe=4;function u(s){if(s)return ke(s)}function ke(s){for(var e in u.prototype)s[e]=u.prototype[e];return s}u.prototype.on=u.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};u.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};u.prototype.off=u.prototype.removeListener=u.prototype.removeAllListeners=u.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var n,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function ce(s,...e){return e.reduce((t,n)=>(s.hasOwnProperty(n)&&(t[n]=s[n]),t),{})}const Ae=f.setTimeout,Te=f.clearTimeout;function B(s,e){e.useNativeTimers?(s.setTimeoutFn=Ae.bind(f),s.clearTimeoutFn=Te.bind(f)):(s.setTimeoutFn=f.setTimeout.bind(f),s.clearTimeoutFn=f.clearTimeout.bind(f))}const Re=1.33;function Oe(s){return typeof s=="string"?Ce(s):Math.ceil((s.byteLength||s.size)*Re)}function Ce(s){let e=0,t=0;for(let n=0,i=s.length;n=57344?t+=3:(n++,t+=4);return t}function Be(s){let e="";for(let t in s)s.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(s[t]));return e}function Se(s){let e={},t=s.split("&");for(let n=0,i=t.length;n0);return e}function he(){const s=Q(+new Date);return s!==X?(J=0,X=s):s+"."+Q(J++)}for(;T{this.readyState="paused",e()};if(this.polling||!this.writable){let n=0;this.polling&&(n++,this.once("pollComplete",function(){--n||t()})),this.writable||(n++,this.once("drain",function(){--n||t()}))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};ve(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,we(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=he()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new p(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}}class p extends u{constructor(e,t){super(),B(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=t.data!==void 0?t.data:null,this.create()}create(){var e;const t=ce(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new fe(t);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&n.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this.opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var i;n.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(n)),n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=p.requestsCount++,p.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=Pe,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete p.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}p.requestsCount=0;p.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",G);else if(typeof addEventListener=="function"){const s="onpagehide"in f?"pagehide":"unload";addEventListener(s,G,!1)}}function G(){for(let s in p.requests)p.requests.hasOwnProperty(s)&&p.requests[s].abort()}const H=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0))(),R=f.WebSocket||f.MozWebSocket,j=!0,Ue="arraybuffer",Z=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Ie extends M{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=Z?{}:ce(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=j&&!Z?t?new R(e,t):new R(e):new R(e,t,n)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{const o={};try{j&&this.ws.send(r)}catch{}i&&H(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=he()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!R}}class Ve extends M{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(e=>{const t=Ee(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),i=_e();i.readable.pipeTo(e.writable),this.writer=i.writable.getWriter();const r=()=>{n.read().then(({done:h,value:a})=>{h||(this.onPacket(a),r())}).catch(h=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(e){this.writable=!1;for(let t=0;t{i&&H(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this.transport)===null||e===void 0||e.close()}}const Fe={websocket:Ie,webtransport:Ve,polling:De},Me=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,He=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function q(s){const e=s,t=s.indexOf("["),n=s.indexOf("]");t!=-1&&n!=-1&&(s=s.substring(0,t)+s.substring(t,n).replace(/:/g,";")+s.substring(n,s.length));let i=Me.exec(s||""),r={},o=14;for(;o--;)r[He[o]]=i[o]||"";return t!=-1&&n!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=Ke(r,r.path),r.queryKey=We(r,r.query),r}function Ke(s,e){const t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function We(s,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,i,r){i&&(t[i]=r)}),t}let le=class b extends u{constructor(e,t={}){super(),this.binaryType=Ue,this.writeBuffer=[],e&&typeof e=="object"&&(t=e,e=null),e?(e=q(e),t.hostname=e.host,t.secure=e.protocol==="https"||e.protocol==="wss",t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=q(t.host).host),B(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Se(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=oe,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Fe[e](n)}open(){let e;if(this.opts.rememberUpgrade&&b.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else e=this.transports[0];this.readyState="opening";try{e=this.createTransport(e)}catch{this.transports.shift(),this.open();return}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(e){let t=this.createTransport(e),n=!1;b.priorWebsocketSuccess=!1;const i=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!n)if(m.type==="pong"&&m.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;b.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{n||this.readyState!=="closed"&&(y(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const v=new Error("probe error");v.transport=t.name,this.emitReserved("upgradeError",v)}}))};function r(){n||(n=!0,y(),t.close(),t=null)}const o=m=>{const v=new Error("probe error: "+m);v.transport=t.name,r(),this.emitReserved("upgradeError",v)};function h(){o("transport closed")}function a(){o("socket closed")}function g(m){t&&m.name!==t.name&&r()}const y=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",h),this.off("close",a),this.off("upgrading",g)};t.once("open",i),t.once("error",o),t.once("close",h),this.once("close",a),this.once("upgrading",g),this.upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onOpen(){if(this.readyState="open",b.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,i){if(typeof t=="function"&&(i=t,t=void 0),typeof n=="function"&&(i=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;const r={type:e,data:t,options:n};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}onError(e){b.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const i=e.length;for(;ntypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,pe=Object.prototype.toString,Je=typeof Blob=="function"||typeof Blob<"u"&&pe.call(Blob)==="[object BlobConstructor]",Xe=typeof File=="function"||typeof File<"u"&&pe.call(File)==="[object FileConstructor]";function K(s){return Ye&&(s instanceof ArrayBuffer||ze(s))||Je&&s instanceof Blob||Xe&&s instanceof File}function C(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,n=s.length;t=0&&s.num{delete this.acks[e];for(let o=0;o{this.io.clearTimeoutFn(r),t.apply(this,[null,...o])}}emitWithAck(e,...t){const n=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,r)=>{t.push((o,h)=>n?o?r(o):i(h):i(o)),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>n!==this._queue[0]?void 0:(i!==null?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:c.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case c.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.CONNECT_ERROR:this.destroy();const n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...i){n||(n=!0,t.packet({type:c.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:c.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n0&&s.jitter<=1?s.jitter:0,this.attempts=0}w.prototype.duration=function(){var s=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*s);s=Math.floor(e*10)&1?s+t:s-t}return Math.min(s,this.max)|0};w.prototype.reset=function(){this.attempts=0};w.prototype.setMin=function(s){this.ms=s};w.prototype.setMax=function(s){this.max=s};w.prototype.setJitter=function(s){this.jitter=s};class I extends u{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,B(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new w({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||st;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new le(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const i=l(t,"open",function(){n.onopen(),e&&e()}),r=h=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",h),e?e(h):this.maybeReconnectOnOpen()},o=l(t,"error",r);if(this._timeout!==!1){const h=this._timeout,a=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},h);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(l(e,"ping",this.onping.bind(this)),l(e,"data",this.ondata.bind(this)),l(e,"error",this.onerror.bind(this)),l(e,"close",this.onclose.bind(this)),l(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){H(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new de(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const n of t)if(this.nsps[n].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;ne()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const _={};function N(s,e){typeof s=="object"&&(e=s,s=void 0),e=e||{};const t=$e(s,e.path||"/socket.io"),n=t.source,i=t.id,r=t.path,o=_[i]&&r in _[i].nsps,h=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let a;return h?a=new I(n,e):(_[i]||(_[i]=new I(n,e)),a=_[i]),t.query&&!e.query&&(e.query=t.queryKey),a.socket(t.path,e)}Object.assign(N,{Manager:I,Socket:de,io:N,connect:N});export{I as Manager,de as Socket,N as connect,N as default,N as io,Ze as protocol}; diff --git a/.output/public/_nuxt/node.676c5e99.js b/.output/public/_nuxt/node.676c5e99.js new file mode 100644 index 0000000000..6e05bf7d14 --- /dev/null +++ b/.output/public/_nuxt/node.676c5e99.js @@ -0,0 +1 @@ +const y=["p","h1","h2","h3","h4","h5","h6","li"];function f(r,t){return r.type===t||typeof r.type=="object"&&r.type.tag===t||r.tag===t}function n(r){return f(r,"text")||f(r,Symbol.for("v-txt"))}function l(r){var t;return Array.isArray(r.children)||typeof r.children=="string"?r.children:typeof((t=r.children)==null?void 0:t.default)=="function"?r.children.default():[]}function u(r){if(!r)return"";if(Array.isArray(r))return r.map(u).join("");if(n(r))return r.children||r.value||"";const t=l(r);return Array.isArray(t)?t.map(u).filter(Boolean).join(""):""}function h(r,t=[]){if(Array.isArray(r))return r.flatMap(e=>h(e,t));let i=r;return t.some(e=>e==="*"||f(r,e))&&(i=l(r)||r,!Array.isArray(i)&&y.some(e=>f(r,e))&&(i=[i])),i}function p(r,t=[]){return r=Array.isArray(r)?r:[r],t.length?r.flatMap(i=>p(h(i,[t[0]]),t.slice(1))).filter(i=>!(n(i)&&u(i).trim()==="")):r}function a(r,t=[]){return typeof t=="string"&&(t=t.split(",").map(i=>i.trim()).filter(Boolean)),t.length?p(r,t).reduce((i,e)=>(n(e)?typeof i[i.length-1]=="string"?i[i.length-1]+=e.children:i.push(e.children):i.push(e),i),[]):r}export{a as f,h as u}; diff --git a/.output/public/_nuxt/page.41b64923.css b/.output/public/_nuxt/page.41b64923.css new file mode 100644 index 0000000000..d8d10763bf --- /dev/null +++ b/.output/public/_nuxt/page.41b64923.css @@ -0,0 +1 @@ +.page-layout[data-v-393382c9]{display:flex;flex-direction:column;position:relative} diff --git a/.output/public/_nuxt/page.5c669c5e.js b/.output/public/_nuxt/page.5c669c5e.js new file mode 100644 index 0000000000..f7fd6950cf --- /dev/null +++ b/.output/public/_nuxt/page.5c669c5e.js @@ -0,0 +1 @@ +import{d as _,a9 as r,C as p,b as l,c as i,g as u,w as f,e as m,Z as g,J as n,ad as h,k as x}from"./entry.19040e7f.js";const v={class:"page-layout"},k=_({__name:"page",setup(y){const{config:e}=r();return p({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(c,C)=>{var a,s,t,o;const d=h;return l(),i("div",v,[u(d,{fluid:(s=(a=n(e))==null?void 0:a.main)==null?void 0:s.fluid,padded:(o=(t=n(e))==null?void 0:t.main)==null?void 0:o.padded},{default:f(()=>[m("article",null,[g(c.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const w=x(k,[["__scopeId","data-v-393382c9"]]);export{w as default}; diff --git a/.output/public/_nuxt/slot.51812f31.js b/.output/public/_nuxt/slot.51812f31.js new file mode 100644 index 0000000000..82b2092304 --- /dev/null +++ b/.output/public/_nuxt/slot.51812f31.js @@ -0,0 +1 @@ +import{f as u}from"./node.676c5e99.js";import{Z as n}from"./entry.19040e7f.js";const e=(t,r,f,...i)=>t[r]?n({...t,[r]:()=>u(t[r](),f==null?void 0:f.unwrap)},r,f,...i):n(t,r,f,...i);export{e as r}; diff --git a/.output/public/_nuxt/useStudio.37ff8fdd.css b/.output/public/_nuxt/useStudio.37ff8fdd.css new file mode 100644 index 0000000000..d03b03e0e7 --- /dev/null +++ b/.output/public/_nuxt/useStudio.37ff8fdd.css @@ -0,0 +1 @@ +body.__preview_enabled{padding-bottom:50px}#__nuxt_preview[data-v-36384eba]{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.3);border-top:1px solid #eee;bottom:-60px;color:#000;display:flex;font-family:Helvetica,sans-serif;font-size:16px;font-weight:500;gap:10px;height:50px;justify-content:center;left:0;position:fixed;right:0;transition:bottom .3s ease-in-out;z-index:10000}#__nuxt_preview.__preview_ready[data-v-36384eba]{bottom:0}#__preview_background[data-v-36384eba]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.3);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9000}#__preview_loader[data-v-36384eba]{align-items:center;color:#000;display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1.4rem;gap:8px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9500}#__preview_loader p[data-v-36384eba]{margin:10px 0}.dark #__preview_background[data-v-36384eba],.dark-mode #__preview_background[data-v-36384eba]{background:rgba(0,0,0,.3)}.dark #__preview_loader[data-v-36384eba],.dark-mode #__preview_loader[data-v-36384eba]{color:#fff}.preview-loading-enter-active[data-v-36384eba],.preview-loading-leave-active[data-v-36384eba]{transition:opacity .4s}.preview-loading-enter[data-v-36384eba],.preview-loading-leave-to[data-v-36384eba]{opacity:0}#__preview_loading_icon[data-v-36384eba]{animation:spin-36384eba 1s linear infinite}.dark #__nuxt_preview[data-v-36384eba],.dark-mode #__nuxt_preview[data-v-36384eba]{background:rgba(0,0,0,.3);border-top:1px solid #111;color:#fff}#__nuxt_preview svg[data-v-36384eba]{color:#000;display:inline-block;height:30px;width:30px}.dark #__nuxt_preview svg[data-v-36384eba],.dark-mode #__nuxt_preview svg[data-v-36384eba]{color:#fff}button[data-v-36384eba]{background:transparent;border:1px solid rgba(0,0,0,.2);border-radius:3px;box-shadow:none;color:#000c;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1rem;margin:0;padding:4px 10px;text-align:center;transition:none;width:auto}button[data-v-36384eba]:hover{border-color:#0006;color:#000000e6}.dark button[data-v-36384eba],.dark-mode button[data-v-36384eba]{border-color:#fff3;color:#d3d3d3}.dark button[data-v-36384eba]:hover,.dark-mode button[data-v-36384eba]:hover{border-color:#fff6;color:#fff}#__nuxt_preview button[data-v-36384eba]:focus,#__nuxt_preview button[data-v-36384eba]:hover{background:rgba(0,0,0,.1)}#__nuxt_preview button[data-v-36384eba]:active{background:rgba(0,0,0,.2)}.dark #__nuxt_preview button[data-v-36384eba],.dark-mode #__nuxt_preview button[data-v-36384eba]{border:1px solid hsla(0,0%,100%,.2);color:#fffc}.dark #__nuxt_preview button[data-v-36384eba]:hover,.dark-mode #__nuxt_preview button[data-v-36384eba]:focus{background:hsla(0,0%,100%,.1)}.dark #__nuxt_preview button[data-v-36384eba]:active,.dark-mode #__nuxt_preview button[data-v-36384eba]:active{background:hsla(0,0%,100%,.2)}#__nuxt_preview.__preview_refreshing button[data-v-36384eba],#__nuxt_preview.__preview_refreshing span[data-v-36384eba],#__nuxt_preview.__preview_refreshing svg[data-v-36384eba]{animation:nuxt_pulsate-36384eba 1s ease-out;animation-iteration-count:infinite;opacity:.5}@keyframes nuxt_pulsate-36384eba{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin-36384eba{0%{transform:rotate(1turn)}to{transform:rotate(0)}} diff --git a/.output/public/_nuxt/useStudio.c0a5304d.js b/.output/public/_nuxt/useStudio.c0a5304d.js new file mode 100644 index 0000000000..960dafe400 --- /dev/null +++ b/.output/public/_nuxt/useStudio.c0a5304d.js @@ -0,0 +1 @@ +import{d as Y,u as V,r as $,o as j,_ as ee,a as te,b as q,c as L,n as ne,F as oe,e as w,f as K,g as O,w as J,T as B,t as ie,h as z,p as se,i as ae,j as W,k as re,l as de,m as D,q as ce,s as E,v as U,x as Z,y as H,z as le,A as pe,B as F}from"./entry.19040e7f.js";const A=i=>(se("data-v-36384eba"),i=i(),ae(),i),ue=A(()=>w("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),ve=A(()=>w("span",null,"Preview mode enabled",-1)),fe={key:0},we=A(()=>w("div",{id:"__preview_background"},null,-1)),_e=A(()=>w("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),he=A(()=>w("p",null,"Initializing the preview...",-1)),ye={key:0},me=A(()=>w("div",{id:"__preview_background"},null,-1)),ge={id:"__preview_loader"},ke=Y({__name:"ContentPreviewMode",props:{previewToken:{type:String,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(i){const s=i,c=["__nuxt_preview","__preview_enabled"],v=W(),y=V(),r=$(!0),g=$(!1),o=$(!1),l=$("");let a;const h=async()=>{z("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},R=async T=>{const _=await s.syncPreview(T);if(o.value!==!0){if(!_){setTimeout(()=>R(T),1e3);return}z("previewToken").value&&(o.value=!0,await y.replace({query:{}}),v.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&a.disconnect())}};return j(async()=>{a=(await ee(()=>import("./index.17e44084.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let _;a.on("connect",()=>{_=setTimeout(()=>{o.value||(_=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{_&&(clearTimeout(_),_=null)};a.on("draft:sync",async P=>{if(I(),!P){try{a.once("draft:ready",()=>{a.emit("draft:requestSync")}),await s.requestPreviewSyncAPI()}catch(x){switch(I(),x.response.status){case 404:l.value="Preview draft not found",o.value=!1;break;default:l.value="An error occurred while syncing preview",o.value=!1}}return}R(P)}),a.on("draft:unauthorized",()=>{I(),l.value="Unauthorized preview token",o.value=!1}),a.on("disconnect",()=>{I()}),document.body.classList.add(...c),a.on("draft:update",P=>{g.value=!0,s.syncPreview(P),g.value=!1})}),te(()=>{document.body.classList.remove(...c)}),(T,_)=>(q(),L("div",null,[r.value?(q(),L("div",{key:0,id:"__nuxt_preview",class:ne({__preview_ready:o.value,__preview_refreshing:g.value})},[o.value?(q(),L(oe,{key:0},[ue,ve,w("button",{onClick:h}," Close ")],64)):K("",!0)],2)):K("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",fe,[we,w("div",{id:"__preview_loader"},[_e,he,w("button",{onClick:h}," Cancel ")])])):K("",!0)]),_:1}),O(B,{name:"preview-loading"},{default:J(()=>[l.value?(q(),L("div",ye,[me,w("div",ge,[w("p",null,ie(l.value),1),w("button",{onClick:h}," Exit preview ")])])):K("",!0)]),_:1})]))}});const Ce=re(ke,[["__scopeId","data-v-36384eba"]]),Ie=(i=[],s,c)=>{const v=[...s||[]],y=[...c||[]],r=JSON.parse(JSON.stringify(i));for(const o of v)if(o.oldPath)if(y.splice(y.findIndex(a=>a.path===o.oldPath),1),v.find(a=>a.path===o.oldPath))r.push({path:o.path,parsed:o.parsed});else{const a=r.find(h=>h.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(h=>{a.parsed[h]=o.pathMeta[h]}))}else if(o.new)r.push({path:o.path,parsed:o.parsed});else{const l=r.find(a=>a.path===o.path);l&&Object.assign(l,{path:o.path,parsed:o.parsed})}for(const o of y)r.splice(r.findIndex(l=>l.path===o.path),1);const g=new Intl.Collator(void 0,{numeric:!0});return r.sort((o,l)=>g.compare(o.path,l.path)),r},C={appConfig:"app.config.ts",tokensConfig:"tokens.config.ts"},Pe=i=>{let s;return(...c)=>(s||(s=i()),s)};function G(i,s){for(const c in i){const v=s[c];c in s||delete i[c],v!==null&&typeof v=="object"&&G(i[c],s[c])}}function Q(i,s){for(const c in s){const v=s[c];v!==null&&typeof v=="object"?(i[c]=i[c]||{},Q(i[c],v)):i[c]=v}}const Se=Pe(()=>JSON.parse(JSON.stringify(Z()))),Ae=()=>{const i=W(),{studio:s,content:c}=de().public,v=Se();let y;const r=D("studio-client-db",()=>null),g=D("studio-preview-db-files",()=>[]);r.value||(i.hook("content:storage",e=>{r.value=e}),ce("/non-existing-path").findOne());const o=async(e,n,d=!0)=>{const u=window.sessionStorage.getItem("previewToken"),f=await e.getKeys(`${u}:`);await Promise.all(f.map(p=>e.removeItem(p)));const t=new Set(n.map(p=>p.parsed._id.split(":").shift()));await e.setItem(`${u}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(p=>e.setItem(`${u}:${p.parsed._id}`,JSON.stringify(p.parsed))))},l=e=>{const n=U(i,Z);Q(n,H(e,v)),e||G(n,v)},a=e=>{var d,u,f,t;const n=(t=(f=(u=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:u.config)==null?void 0:f.globalProperties)==null?void 0:t.$pinceauTheme;!n||!(n!=null&&n.updateTheme)||(y||(y=JSON.parse(JSON.stringify((n==null?void 0:n.theme.value)||{}))),U(i,n.updateTheme,[H(e,y)]))},h=async e=>{if(g.value=e.files=e.files||g.value||[],!r.value)return!1;const n=Ie(e.files,e.additions,e.deletions),d=n.filter(t=>![C.appConfig,C.tokensConfig].includes(t.path));await o(r.value,d,(e.files||[]).length!==0);const u=n.find(t=>t.path===C.appConfig);l(u==null?void 0:u.parsed);const f=n.find(t=>t.path===C.tokensConfig);return a(f==null?void 0:f.parsed),x(),!0},R=async()=>{const e=window.sessionStorage.getItem("previewToken");await $fetch("api/projects/preview/sync",{baseURL:s==null?void 0:s.apiURL,method:"POST",params:{token:e}})},T=()=>{const e=window.sessionStorage.getItem("previewToken"),n=document.createElement("div");n.id="__nuxt_preview_wrapper",document.body.appendChild(n),le(Ce,{previewToken:e,apiURL:s==null?void 0:s.apiURL,syncPreview:h,requestPreviewSyncAPI:R}).mount(n)},_=async e=>{var u,f,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((u=r.value)==null?void 0:u.getItem(`${n}:${e}`));return d||(d=await((f=r.value)==null?void 0:f.getItem(`cached:${e}`))),d||(d=d=await((t=r.value)==null?void 0:t.getItem(e))),d},I=e=>{var d;const n=window.sessionStorage.getItem("previewToken");r.value&&r.value.setItem(`${n}:${(d=e.parsed)==null?void 0:d._id}`,JSON.stringify(e.parsed))},P=async e=>{var d;const n=window.sessionStorage.getItem("previewToken");await((d=r.value)==null?void 0:d.removeItem(`${n}:${e}`))},x=async()=>{if(c!=null&&c.documentDriven){const{pages:e}=U(i,pe);for(const n in e.value)e.value[n]&&(e.value[n]=await _(e.value[n]._id))}await i.hooks.callHookParallel("app:data:refresh")};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:R,findContentWithId:_,updateContent:I,removeContentWithId:P,requestRerender:x,mountPreviewUI:T,initiateIframeCommunication:X};function X(){if(!window.parent||window.self===window.parent)return;const e=V(),n=E(),d=$(""),u=t=>({path:t.path,query:F(t.query),params:F(t.params),fullPath:t.fullPath,meta:F(t.meta)});window.addEventListener("keydown",t=>{(t.metaKey||t.ctrlKey||t.altKey||t.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:t.key,metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},"*")}),window.addEventListener("message",async t=>{if(!["https://nuxt.studio","https://dev.nuxt.studio","http://localhost:3000"].includes(t.origin))return;const{type:p,payload:b={}}=t.data||{};switch(p){case"nuxt-studio:editor:file-selected":{const m=await _(b.path);m&&(m._partial||m._path!==E().path&&(d.value=m._path,e.push(m._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:m=[],deletions:M=[]}=b;for(const k of m)await I(k);for(const k of M)await P(k.path);x();break}case"nuxt-studio:preview:sync":{h(b);break}case"nuxt-studio:config:file-changed":{const{additions:m=[],deletions:M=[]}=b,k=m.find(S=>S.path===C.appConfig);k&&l(k==null?void 0:k.parsed),M.find(S=>S.path===C.appConfig)&&l(void 0);const N=m.find(S=>S.path===C.tokensConfig);N&&a(N==null?void 0:N.parsed),M.find(S=>S.path===C.tokensConfig)&&a(void 0);break}}}),i.hook("page:finish",()=>{f(),i.payload.prerenderedAt&&x()}),i.hook("content:document-driven:finish",({route:t,page:p})=>{t.meta.studio_page_contentId=p==null?void 0:p._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:u(E())},"*"),setTimeout(()=>{f()},100)});function f(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(b=>b.getAttribute("data-content-id")),p=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===p[0]){d.value="";return}window.openContentInStudioEditor(p,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,p={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...u(n),contentIds:t,...p}},"*")}}};export{Ae as useStudio}; diff --git a/.output/public/api/_content/cache.1698695069955.json b/.output/public/api/_content/cache.1698695069955.json new file mode 100644 index 0000000000..4728c7b011 --- /dev/null +++ b/.output/public/api/_content/cache.1698695069955.json @@ -0,0 +1 @@ +{"generatedAt":1698695100097,"generateTime":1592,"contents":[{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Home","description":"","navigation":false,"layout":"page","main":{"fluid":false},"body":{"type":"root","children":[{"type":"element","tag":"ellipsis","props":{"blur":"150px","width":"75%","right":"0px"},"children":[]},{"type":"element","tag":"block-hero","props":{":cta":"[\"Get started\",\"/docs\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/setupmd/docs\"]"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Welcome to setup.md."}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A wiki focused on deliverying everything needed for hosting your own Minecraft server for friends, family or a community."}]}]},{"type":"element","tag":"template","props":{"v-slot:extra":""},"children":[{"type":"element","tag":"list","props":{},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Community"}]},{"type":"text","value":" backed project with over 300 commits"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Hundreds of hours of playtime validation"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Simple to contribute to via "},{"type":"element","tag":"a","props":{"href":"https://link.setup.md/repo","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Github"}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Version 3 built to be "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"faster than ever before"}]}]}]}]}]},{"type":"element","tag":"template","props":{"v-slot:support":""},"children":[{"type":"element","tag":"terminal","props":{":content":"[\"git clone https://link.setup.md/template\",\"cd template\",\"java -Xms4096M -Xmx4096M -jar server.jar\"]"},"children":[]}]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's New 🎉"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{"blur":"140px","width":"40rem","left":"0px","top":"10rem"},"children":[]}]},{"type":"element","tag":"card","props":{"icon":"simple-icons:markdown"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"New Stack"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Built on Nuxt 3, Vue with the simplicity of Markdown."}]}]}]},{"type":"element","tag":"card","props":{"icon":"noto:rocket"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Super Snappy"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We're even faster than before with a light weight framework and serverless deployments."}]}]}]},{"type":"element","tag":"card","props":{"icon":"noto:puzzle-piece"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Easier Contributions"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Cleaner code means easier contributions and hopefully even more of them!"}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:0.index.md","_source":"content","_file":"0.index.md","_extension":"md"},{"_path":"/introduction/_dir","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","icon":"ph:star-duotone","navigation":{"redirect":"/introduction/getting-started"},"_id":"content:1.introduction:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"1.introduction/_dir.yml","_extension":"yml"},{"_path":"/introduction/getting-started","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","title":"Getting Started","description":"From your Markdown files to a deployed website in few minutes.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"getting-started"},"children":[{"type":"text","value":"Getting Started"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From your Markdown files to a deployed website in few minutes."}]},{"type":"element","tag":"h2","props":{"id":"play-online"},"children":[{"type":"text","value":"Play online"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can start playing with Docus in your browser using Stackblitz:"}]},{"type":"element","tag":"button-link","props":{":blank":"true","href":"https://stackblitz.com/github/nuxt-themes/docus-starter","icon":"IconStackBlitz","size":"small"},"children":[{"type":"text","value":"Play on StackBlitz"}]},{"type":"element","tag":"h2","props":{"id":"create-a-new-project"},"children":[{"type":"text","value":"Create a new project"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Start a fresh Docus project with:"}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"npx nuxi@latest init docs -t themes/docus\n","filename":"npx","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"npx"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" nuxi@latest"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" init"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" docs"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" -t"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" themes/docus\n"}]}]}]}]},{"type":"element","tag":"ol","props":{"start":2},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Install the dependencies in the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"docs"}]},{"type":"text","value":" folder:"}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"npm install\n","filename":"npm","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" install\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"yarn install\n","filename":"yarn","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" install\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"pnpm install --shamefully-hoist\n","filename":"pnpm","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"pnpm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" install"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" --shamefully-hoist\n"}]}]}]}]}]},{"type":"element","tag":"ol","props":{"start":3},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Run the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"dev"}]},{"type":"text","value":" command to start Docus in development mode:"}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"npm run dev\n","filename":"npm","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" run"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" dev\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"yarn dev\n","filename":"yarn","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" dev\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"pnpm run dev\n","filename":"pnpm","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"pnpm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" run"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" dev\n"}]}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"success"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"✨ Well done! A browser window should automatically open for "},{"type":"element","tag":"a","props":{"href":"http://localhost:3000","rel":["nofollow"]},"children":[{"type":"text","value":"http://localhost:3000"}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"play-online","depth":2,"text":"Play online"},{"id":"create-a-new-project","depth":2,"text":"Create a new project"}]}},"_type":"markdown","_id":"content:1.introduction:1.getting-started.md","_source":"content","_file":"1.introduction/1.getting-started.md","_extension":"md"},{"_path":"/introduction/project-structure","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","title":"Project Structure","description":"Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"project-structure"},"children":[{"type":"text","value":"Project Structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home."}]},{"type":"element","tag":"h2","props":{"id":"directory-structure"},"children":[{"type":"text","value":"Directory Structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the minimal directory structure to get an up and running Docus website."}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"content/\n index.md\napp.config.ts\nnuxt.config.ts\n","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"content/\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" index.md\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"app.config.ts\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"nuxt.config.ts\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"content/"}]},{"type":"text","value":" directory is where you "},{"type":"element","tag":"a","props":{"href":"/introduction/writing-pages"},"children":[{"type":"text","value":"write Markdown pages"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.config.ts"}]},{"type":"text","value":" is where you "},{"type":"element","tag":"a","props":{"href":"/introduction/configuration"},"children":[{"type":"text","value":"configure Docus"}]},{"type":"text","value":" to fit your branding and design."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" is your "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/getting-started/configuration","rel":["nofollow"]},"children":[{"type":"text","value":"Nuxt configuration"}]},{"type":"text","value":"."}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"directory-structure","depth":2,"text":"Directory Structure"}]}},"_type":"markdown","_id":"content:1.introduction:2.project-structure.md","_source":"content","_file":"1.introduction/2.project-structure.md","_extension":"md"},{"_path":"/introduction/writing-pages","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","title":"Writing Pages","description":"Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"writing-pages"},"children":[{"type":"text","value":"Writing Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each Markdown pages in the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"content/"}]},{"type":"text","value":" folder will be mapped to a route."}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"File"}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"text","value":"Generated route"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"index.md"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"about.md"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/about"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"blog/index.md"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/blog"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"blog/hello.md"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/blog/hello"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"1.guide/2.installation"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/guide/installation"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"frontmatter"},"children":[{"type":"text","value":"Frontmatter"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Docus supports multiple Front-matter attributes for pages."}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"---\ntitle: \"Get Started\"\ndescription: \"Let's learn how to use my amazing module.\"\n---\n","filename":"index.md","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"title"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"\"Get Started\"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"\"Let's learn how to use my amazing module.\"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"layout"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Use any layout name like you would in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"definePageMeta()"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"title"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Defines the page title and H1 in docs pages"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"description"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Defines the page description and excerpt in docs pages"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"redirect"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A route path to redirect"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"image"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"OpenGraph cover image"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Docs layout options"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggles the visibility of aside navigation"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"toc"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggles the visibility of table of contents"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggles the visibility of the page header"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"bottom"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggles the visibility of page bottom section"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Navigation options"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"navigation"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggles the visibility of the page or directory in navigation"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"navigation.title"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Changes the name of the page or directory in navigation"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"navigation.icon"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Changes the icon of the page or directory in navigation"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"frontmatter","depth":2,"text":"Frontmatter"}]}},"_type":"markdown","_id":"content:1.introduction:3.writing-pages.md","_source":"content","_file":"1.introduction/3.writing-pages.md","_extension":"md"},{"_path":"/introduction/configuration","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","title":"Configuration","description":"Learn how to configure Docus.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"configuration"},"children":[{"type":"text","value":"Configuration"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Learn how to configure Docus."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-dark github-light","code":"export default defineAppConfig({\n docus: {\n title: 'Docus',\n description: 'My Docus Project',\n url: 'http://docus.dev'\n }\n})\n","filename":"Minimal app.config.ts","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" defineAppConfig"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"({\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" docus: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" title: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'Docus'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" description: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'My Docus Project'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" url: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'http://docus.dev'\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" }\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"})\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-dark github-light","code":"export default defineAppConfig({\n docus: {\n title: 'Docus',\n description: 'My Docus Project',\n url: 'http://docus.dev',\n image: '/social-card-preview.png',\n socials: {\n twitter: '@nuxt_js',\n github: 'nuxt-themes/docus',\n },\n github: {\n root: 'content',\n edit: true,\n contributors: false\n },\n layout: 'default',\n aside: {\n level: 1,\n filter: [],\n },\n header: {\n title: false,\n logo: true,\n showLinkIcon: false\n },\n footer: {\n credits: {\n icon: 'IconDocus',\n text: 'Powered by Docus',\n href: 'https://docus.dev',\n },\n textLinks: [\n {\n text: 'Nuxt',\n href: 'https://nuxt.com',\n target: '_blank',\n rel: 'noopener'\n }\n ],\n iconLinks: [\n {\n label: 'NuxtJS',\n href: 'https://nuxtjs.org',\n component: 'IconNuxtLabs',\n },\n {\n label: 'Vue Telescope',\n href: 'https://vuetelescope.com',\n component: 'IconVueTelescope',\n },\n ],\n }\n }\n})\n","filename":"Complete app.config.ts","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" defineAppConfig"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"({\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" docus: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" title: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'Docus'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" description: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'My Docus Project'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" url: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'http://docus.dev'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" image: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'/social-card-preview.png'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" socials: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" twitter: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'@nuxt_js'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" github: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'nuxt-themes/docus'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" github: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" root: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'content'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" edit: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" contributors: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"false\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" layout: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" aside: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" level: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" filter: [],\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" header: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" title: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" logo: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" showLinkIcon: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"false\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" footer: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" credits: {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" icon: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'IconDocus'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" text: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'Powered by Docus'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" href: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'https://docus.dev'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" textLinks: [\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" text: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'Nuxt'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" href: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'https://nuxt.com'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" target: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'_blank'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":37},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" rel: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'noopener'\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":38},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" }\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":39},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ],\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":40},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" iconLinks: [\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":41},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":42},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" label: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'NuxtJS'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":43},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" href: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'https://nuxtjs.org'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":44},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" component: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'IconNuxtLabs'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":45},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":46},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":47},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" label: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'Vue Telescope'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":48},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" href: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'https://vuetelescope.com'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":49},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" component: "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"'IconVueTelescope'"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":50},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" },\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":51},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ],\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":52},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" }\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":53},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" }\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":54},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"})\n"}]}]}]}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"title"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Docus"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Website title"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"titleTemplate"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Docus"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Website title template"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"description"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"My Docus Project"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Website description"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"url"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Website URL"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"layout"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Fallback layout to use (supports "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"default"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"page"}]},{"type":"text","value":")"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Socials"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"{}"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Social links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.github"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The repository to use on GitHub links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.twitter"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The account to use on Twitter links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.youtube"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The channel to use on Youtube links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.instagram"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The account to use on Instagram links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.facebook"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The account to use on Facebook links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.medium"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The account to use on Medium links"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.[social]"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Override social or display custom one"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.[social].label"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A label to use for the social"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.[social].icon"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A icon to use for the social"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.[social].href"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A link to use for the social"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"socials.[social].rel"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"noopener noreferrer"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A space-separated list of "},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types","rel":["nofollow"]},"children":[{"type":"text","value":"link types"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Header"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Header configuration"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header.logo"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Whether or not to use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Logo.vue"}]},{"type":"text","value":" as the header logo"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header.title"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"If set to a string, will be used in the header"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header.showLinkIcon"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"If set to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]},{"type":"text","value":" links icons will show in the header"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header.exclude"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string[]"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"An array of path to exclude out from the header navigation"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header.fluid"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Make header "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Container"}]},{"type":"text","value":" fluid"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Main"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"main"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Main configuration"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"main.fluid"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Make main content "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Container"}]},{"type":"text","value":" fluid"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"main.padded"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Make main content "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Container"}]},{"type":"text","value":" padded"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Aside"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Aside configuration"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside.level"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Aside base level of nesting"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside.collapsed"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Will be used as default value for collapsible navigation categories"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside.exclude"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string[]"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"An array of path to exclude out from the aside navigation"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Footer"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Footer configuration"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.credits"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"An object defining the bottom left credits"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.credits.icon"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The icon to use for the credits"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.credits.text"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The text to use for the credits"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.textLinks"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"array"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"[]"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"An array of texts to display at the center of footer"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.textLinks[0].text"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The text to display"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.textLinks[0].href"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A link to use for the text"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.textLinks[0].target"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"_self"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Where to display the linked URL, as the name for a browsing context"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.textLinks[0].rel"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"noopener noreferrer"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A space-separated list of "},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types","rel":["nofollow"]},"children":[{"type":"text","value":"link types"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.iconLinks"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"array"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"[]"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"An array of icons to display in the footer"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.iconLinks[0].label"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A label to use for the icon"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.iconLinks[0].href"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A link to use for the icon"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.iconLinks[0].icon"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The icon to use (can be a component name)"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.iconLinks[0].rel"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"noopener noreferrer"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"A space-separated list of "},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types","rel":["nofollow"]},"children":[{"type":"text","value":"link types"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer.fluid"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Make footer "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Container"}]},{"type":"text","value":" fluid"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"GitHub"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"GitHub integration configuration"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github.dir"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Directory containing the files to be edited"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github.branch"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Branch to start editing"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github.repo"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Name of the GitHub repo to edit files"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github.owner"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"string"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Owner of the repo"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"github.edit"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"boolean"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Toggle \"Edit this page on Github\" component on documentation pages"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Search"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"fuse"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"object"}]}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"useFuse "},{"type":"element","tag":"a","props":{"href":"https://vueuse.org/integrations/useFuse/","rel":["nofollow"]},"children":[{"type":"text","value":"options"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"customizing-the-logo"},"children":[{"type":"text","value":"Customizing the logo"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To update the logo in the header, create a component in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"components/Logo.vue"}]},{"type":"text","value":" with your own logo."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In this example, the image is located at "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"/public/img"}]},{"type":"text","value":"."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-dark github-light","code":"\n","filename":"components/Logo.vue","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" width"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"\"120\""}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" src"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"\"/img/YOURLOGO.png\""}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"/>\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"\n"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"customizing-the-logo","depth":2,"text":"Customizing the logo"}]}},"_type":"markdown","_id":"content:1.introduction:4.configuration.md","_source":"content","_file":"1.introduction/4.configuration.md","_extension":"md"},{"_path":"/api/_dir","_dir":"api","_draft":false,"_partial":true,"_locale":"","title":"API","icon":"heroicons-outline:bookmark-alt","_id":"content:2.api:_dir.yml","_type":"yaml","_source":"content","_file":"2.api/_dir.yml","_extension":"yml"},{"_path":"/api/components","_dir":"api","_draft":false,"_partial":false,"_locale":"","title":"Components","description":"Discover every component you can use in your content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Discover every component you can use in your content."}]},{"type":"element","tag":"h2","props":{"id":"alert"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"alert","props":{"type":"info","style":"margin-top: 0;"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Check out an "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"info"}]},{"type":"text","value":" alert with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"code"}]},{"type":"text","value":" and a "},{"type":"element","tag":"a","props":{"href":"/"},"children":[{"type":"text","value":"link"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"alert","props":{"type":"success"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Check out a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"success"}]},{"type":"text","value":" alert with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"code"}]},{"type":"text","value":" and a "},{"type":"element","tag":"a","props":{"href":"/"},"children":[{"type":"text","value":"link"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Check out a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"warning"}]},{"type":"text","value":" alert with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"code"}]},{"type":"text","value":" and a "},{"type":"element","tag":"a","props":{"href":"/"},"children":[{"type":"text","value":"link"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"alert","props":{"type":"danger","style":"margin-bottom: 0;"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Check out a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"danger"}]},{"type":"text","value":" alert with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"code"}]},{"type":"text","value":" and a "},{"type":"element","tag":"a","props":{"href":"/"},"children":[{"type":"text","value":"link"}]},{"type":"text","value":"."}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::alert{type=\"info\"}\nCheck out an **info** alert with `code` and a [link](/).\n::\n\n::alert{type=\"success\"}\nCheck out a **success** alert with `code` and a [link](/).\n::\n\n::alert{type=\"warning\"}\nCheck out a **warning** alert with `code` and a [link](/).\n::\n\n::alert{type=\"danger\"}\nCheck out a **danger** alert with `code` and a [link](/).\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::alert{type=\"info\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Check out an "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**info**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" alert with "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"`code`"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" and a ["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"link"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]("}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":").\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::alert{type=\"success\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Check out a "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**success**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" alert with "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"`code`"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" and a ["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"link"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]("}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":").\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::alert{type=\"warning\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Check out a "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**warning**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" alert with "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"`code`"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" and a ["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"link"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]("}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":").\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::alert{type=\"danger\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Check out a "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**danger**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" alert with "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"`code`"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" and a ["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"link"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]("}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":").\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Alert.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"badge"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]},{"type":"text","value":" support same types as "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]},{"type":"text","value":"."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"div","props":{"style":"display:flex; gap: 1rem;"},"children":[{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v1.2"}]},{"type":"element","tag":"badge","props":{"type":"warning"},"children":[{"type":"text","value":"Deprecated"}]},{"type":"element","tag":"badge","props":{"type":"danger"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Not found!"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":badge[v1.2]\n\n:badge[Deprecated]{type=\"warning\"}\n\n::badge{type=\"danger\"}\nNot found!\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":badge["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"v1.2"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":badge["}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#DBEDFF;--shiki-default:#032F62;--shiki-dark-text-decoration:underline;--shiki-default-text-decoration:underline"},"children":[{"type":"text","value":"Deprecated"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"]{type=\"warning\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::badge{type=\"danger\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Not found!\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Badge.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"blockhero"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview"},"children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get started\",\"/introduction/getting-started\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/nuxtlabs/docus\"]","snippet":"npx nuxi@latest init docus-app -t nuxtlabs/docus-starter"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Document-driven framework"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites."}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::block-hero\n---\ncta:\n - Get started\n - /get-started\nsecondary:\n - Open on GitHub →\n - https://github.com/nuxtlabs/docus\nsnippet: npx nuxi@latest init docus-app -t nuxtlabs/docus-starter\n---\n#title\nDocument-driven framework\n\n#description\nDocus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites.\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::block-hero\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"cta:\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":" -"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Get started\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":" -"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" /get-started\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"secondary:\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":" -"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Open on GitHub →\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":" -"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" https://github.com/nuxtlabs/docus\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"snippet: npx nuxi@latest init docus-app -t nuxtlabs/docus-starter\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Document-driven framework\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#description\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/BlockHero.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"buttonlink"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"button-link","props":{":blank":"true","href":"https://stackblitz.com/github/nuxtlabs/docus-starter","icon":"IconStackBlitz"},"children":[{"type":"text","value":"Play on StackBlitz"}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":button-link[Play on StackBlitz]{icon=\"IconStackBlitz\" href=\"https://stackblitz.com/github/nuxtlabs/docus-starter\" blank}\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":button-link[Play on StackBlitz]{icon=\"IconStackBlitz\" href=\"https://stackblitz.com/github/nuxtlabs/docus-starter\" blank}\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/ButtonLink.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"callout"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]},{"type":"text","value":" support same types as "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]},{"type":"text","value":"."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview"},"children":[{"type":"element","tag":"callout","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:summary":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is a callout! Click me to open."}]}]},{"type":"element","tag":"template","props":{"v-slot:content":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the content of the callout."}]}]}]},{"type":"element","tag":"callout","props":{"type":"warning"},"children":[{"type":"element","tag":"template","props":{"v-slot:summary":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is a callout! Click me to open."}]}]},{"type":"element","tag":"template","props":{"v-slot:content":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the content of the callout."}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::callout\n#summary\nThis is a callout! Click me to open.\n\n#content\nThis is the content of the callout.\n::\n \n::callout{type=\"warning\"}\n#summary\nThis is a callout! Click me to open.\n\n#content\nThis is the content of the callout.\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::callout\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#summary\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"This is a callout! Click me to open.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#content\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"This is the content of the callout.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" \n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::callout{type=\"warning\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#summary\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"This is a callout! Click me to open.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#content\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"This is the content of the callout.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Callout.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"card"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview"},"children":[{"type":"element","tag":"card","props":{"icon":"logos:nuxt-icon"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt Architecture."}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Based on "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Nuxt 3"}]},{"type":"text","value":" and "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Nuxt Content"}]},{"type":"text","value":". "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nUse Nuxt to build a static site, or a serverless app."}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":" ::card{icon=\"logos:nuxt-icon\"}\n #title\n Nuxt Architecture.\n #description\n Based on **Nuxt 3** and **Nuxt Content**. :br\n Use Nuxt to build a static site, or a serverless app.\n ::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::card{icon=\"logos:nuxt-icon\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Nuxt Architecture.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #description\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Based on "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**Nuxt 3**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" and "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":"**Nuxt Content**"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":". :br\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Use Nuxt to build a static site, or a serverless app.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Card.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"cardgrid"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview"},"children":[{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's included?"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt Architecture."}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Harness the full power of Nuxt and the Nuxt ecosystem."}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue Components."}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use built-in components (or your own!) inside your content."}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Write Markdown."}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enjoy the ease and simplicity of Markdown and discover MDC syntax."}]}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::card-grid\n#title\nWhat's included\n\n#root\n:ellipsis\n\n#default\n ::card\n #title\n Nuxt Architecture.\n #description\n Harness the full power of Nuxt and the Nuxt ecosystem.\n ::\n ::card\n #title\n Vue Components.\n #description\n Use built-in components (or your own!) inside your content.\n ::\n ::card\n #title\n Write Markdown.\n #description\n Enjoy the ease and simplicity of Markdown and discover MDC syntax.\n ::\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::card-grid\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"What's included\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#root\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":ellipsis\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"#default\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::card\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Nuxt Architecture.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #description\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Harness the full power of Nuxt and the Nuxt ecosystem.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::card\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Vue Components.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #description\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Use built-in components (or your own!) inside your content.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::card\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #title\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Write Markdown.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" #description\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Enjoy the ease and simplicity of Markdown and discover MDC syntax.\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/CardGrid.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"codegroup"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This component uses "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"slots"}]},{"type":"text","value":" to create a tab panel of your code examples or preview."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"yarn add docus\n","filename":"Yarn","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" add"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" docus\n"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-bash shiki shiki-themes github-dark github-light","code":"npm install docus\n","filename":"NPM","language":"bash","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" install"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" docus\n"}]}]}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::code-group\n ```bash [Yarn]\n yarn add docus\n ```\n ```bash [NPM]\n npm install docus\n ```\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::code-group\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ```bash [Yarn]\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" yarn"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" add"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" docus\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ```\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ```bash [NPM]\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" npm"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" install"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":" docus\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ```\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/CodeGroup.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"codeblock"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To be used inside a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]},{"type":"text","value":" component to display a preview of some rendered code."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"badge","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Hello World!"}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"/* Added as a child of `` */\n\n::code-block{label=\"Preview\" preview}\n ::badge\n Hello World!\n ::\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"/* Added as a child of "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"``"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" */\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::code-block{label=\"Preview\" preview}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::badge\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Hello World!\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" ::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/CodeBlock.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"copybutton"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"copy-button","props":{"content":"hey!"},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":copy-button{content=\"hey!\"}\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":copy-button{content=\"hey!\"}\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/CopyButton.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"icon"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Icon component gives you access to all "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"100,000+"}]},{"type":"text","value":" icons from "},{"type":"element","tag":"a","props":{"href":"https://icones.js.org","rel":["nofollow"]},"children":[{"type":"text","value":"icones.js.org"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"icon","props":{"name":"logos:nuxt-icon"},"children":[]},{"type":"element","tag":"icon","props":{"name":"logos:vue"},"children":[]},{"type":"element","tag":"icon","props":{"name":"logos:nuxt-icon"},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":icon{name=\"logos:nuxt-icon\"}\n:icon{name=\"logos:vue\"}\n:icon{name=\"logos:nuxt-icon\"}\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":icon{name=\"logos:nuxt-icon\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":icon{name=\"logos:vue\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":icon{name=\"logos:nuxt-icon\"}\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Icon.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"list"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"list","props":{"type":"primary"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Important"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Always"}]}]}]},{"type":"element","tag":"list","props":{"type":"success"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Amazing"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Congrats"}]}]}]},{"type":"element","tag":"list","props":{"type":"info"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Do you know?"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"You can also do this"}]}]}]},{"type":"element","tag":"list","props":{"type":"warning"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Be careful"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Use with precautions"}]}]}]},{"type":"element","tag":"list","props":{"type":"danger"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Drinking too much"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Driving drunk"}]}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::list{type=\"primary\"}\n- **Important**\n- Always\n::\n\n::list{type=\"success\"}\n- Amazing\n- Congrats\n::\n\n::list{type=\"info\"}\n- Do you know?\n- You can also do this\n::\n\n::list{type=\"warning\"}\n- Be careful\n- Use with precautions\n::\n\n::list{type=\"danger\"}\n- Drinking too much\n- Driving drunk\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::list{type=\"primary\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E;--shiki-dark-font-weight:bold;--shiki-default-font-weight:bold"},"children":[{"type":"text","value":" **Important**\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Always\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::list{type=\"success\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Amazing\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Congrats\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::list{type=\"info\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Do you know?\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" You can also do this\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::list{type=\"warning\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Be careful\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Use with precautions\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::list{type=\"danger\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Drinking too much\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FFAB70;--shiki-default:#E36209"},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" Driving drunk\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/List.vue"},"children":[]},{"type":"element","tag":"h2","props":{"id":"sandbox"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Embed CodeSandbox/StackBlitz easily in your documentation with great performances."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Using the "},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API","rel":["nofollow"]},"children":[{"type":"text","value":"IntersectionObserver"}]},{"type":"text","value":" to load when visible in the viewport."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"sandbox","props":{"src":"https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark"},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":sandbox{src=\"https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark\"}\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":sandbox{src=\"https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark\"}\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Sandbox.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"terminal"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"terminal","props":{"content":"nuxi build"},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":":terminal{content=\"nuxi build\"}\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":":terminal{content=\"nuxi build\"}\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/Terminal.vue"},"children":[]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"videoplayer"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Preview",":preview":"true","preview":true},"children":[{"type":"element","tag":"div","props":{},"children":[{"type":"element","tag":"video-player","props":{"src":"https://www.youtube.com/watch?v=o9e12WbKrd8"},"children":[]}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"::div\n :video-player{src=\"https://www.youtube.com/watch?v=o9e12WbKrd8\"}\n::\n","filename":"Code","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::div\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" :video-player{src=\"https://www.youtube.com/watch?v=o9e12WbKrd8\"}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"::\n"}]}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"components/content/VideoPlayer.vue"},"children":[]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"alert","depth":2,"text":""},{"id":"badge","depth":2,"text":""},{"id":"blockhero","depth":2,"text":""},{"id":"buttonlink","depth":2,"text":""},{"id":"callout","depth":2,"text":""},{"id":"card","depth":2,"text":""},{"id":"cardgrid","depth":2,"text":""},{"id":"codegroup","depth":2,"text":""},{"id":"codeblock","depth":2,"text":""},{"id":"copybutton","depth":2,"text":""},{"id":"icon","depth":2,"text":""},{"id":"list","depth":2,"text":""},{"id":"sandbox","depth":2,"text":""},{"id":"terminal","depth":2,"text":""},{"id":"videoplayer","depth":2,"text":""}]}},"_type":"markdown","_id":"content:2.api:1.components.md","_source":"content","_file":"2.api/1.components.md","_extension":"md"},{"_path":"/api/composables","_dir":"api","_draft":false,"_partial":false,"_locale":"","title":"Composables","description":"Discover the Docus composables to use in your custom Vue components and pages.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"composables"},"children":[{"type":"text","value":"Composables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Discover the Docus composables to use in your custom Vue components and pages."}]},{"type":"element","tag":"h2","props":{"id":"usedocus"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useDocus()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":"language-ts shiki shiki-themes github-dark github-light","language":"ts","style":""},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":"useDocus"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"()\n"}]}]},{"type":"text","value":" gives access to docus runtime config, all default values and your custom config from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.config.ts"}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"config"}]},{"type":"text","value":" refers to the merged config of the current page."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"main"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"header"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"footer"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"titleTemplate"}]},{"type":"text","value":" can be set from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"_dir.yml"}]},{"type":"text","value":" and any "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"page.md"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The configs in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.config"}]},{"type":"text","value":" file will be used as defaults."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-dark github-light","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"config"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" useDocus"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"()\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"h1"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">{{ config.title }}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">{{ config.description }}\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" \n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"\n"}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"tree"}]},{"type":"text","value":" refers to the current navigation tree that is displayed in the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside"}]},{"type":"text","value":" component."}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-dark github-light","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"tree"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" useDocus"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"()\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":">\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#FDAEB7;--shiki-default:#B31D28;--shiki-dark-font-style:italic;--shiki-default-font-style:italic"},"children":[{"type":"text","value":"DocsAsideTree"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" :links"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"\"tree\""}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" />\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"\n"}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"composables/useDocus.ts"},"children":[]},{"type":"element","tag":"h2","props":{"id":"usemenu"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useMenu()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useMenu()"}]},{"type":"text","value":" gives access to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"$menu"}]},{"type":"text","value":" plugin controlling mobile navigation globally."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-dark github-light","code":"const {\n // Is menu visible\n visible,\n // Close menu function\n close,\n // Open menu function\n open,\n // Toggle menu function\n toggle\n} = useMenu()\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Is menu visible\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" visible"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Close menu function\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" close"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Open menu function\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" open"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Toggle menu function\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" toggle\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"} "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" useMenu"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"()\n"}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"composables/useMenu.ts"},"children":[]},{"type":"element","tag":"h2","props":{"id":"usescrollspy"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useScrollspy()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useScrollspy()"}]},{"type":"text","value":" is used in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"docs"}]},{"type":"text","value":" layout to make the ToC display the currently visible headings."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-dark github-light","code":"const {\n // Headings on the page\n visibleHeadings,\n // Active headings (for the current page)\n activeHeadings,\n // Update headings (an array of DOM nodes)\n updateHeadings\n} = useScrollspy()\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":" {\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Headings on the page\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" visibleHeadings"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Active headings (for the current page)\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" activeHeadings"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":",\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#6A737D;--shiki-default:#6A737D"},"children":[{"type":"text","value":" // Update headings (an array of DOM nodes)\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":" updateHeadings\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"} "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#F97583;--shiki-default:#D73A49"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#B392F0;--shiki-default:#6F42C1"},"children":[{"type":"text","value":" useScrollspy"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"()\n"}]}]}]}]},{"type":"element","tag":"source-link","props":{"source":"composables/useScrollspy.ts"},"children":[]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usedocus","depth":2,"text":"useDocus()"},{"id":"usemenu","depth":2,"text":"useMenu()"},{"id":"usescrollspy","depth":2,"text":"useScrollspy()"}]}},"_type":"markdown","_id":"content:2.api:2.composables.md","_source":"content","_file":"2.api/2.composables.md","_extension":"md"},{"_path":"/api/layouts","_dir":"api","_draft":false,"_partial":false,"_locale":"","title":"Layouts","description":"Docus provides multiple built-in layouts for displaying your Markdown pages.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Docus provides multiple built-in layouts for displaying your Markdown pages."}]},{"type":"element","tag":"h2","props":{"id":"default"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The default layout for every page created in the project. This layout renders multiple section alongside the content:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Aside navigation menu (togglable with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"aside: false/true"}]},{"type":"text","value":")"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Page bottom section (togglable with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"bottom: false/true"}]},{"type":"text","value":")"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Table of content (togglable with "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"toc: false/true"}]},{"type":"text","value":")"}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"---\naside: true\nbottom: true\ntoc: false\n---\n\nYour awesome content\n","filename":"index.md","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"aside"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"true\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"bottom"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"true\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"toc"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"false\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"emptyLinePlaceholder":true},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"Your awesome content\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Current page is live sample of default layout."}]},{"type":"element","tag":"h2","props":{"id":"page"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"page"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"page"}]},{"type":"text","value":" layout is content focused layout. This layout does not render aside menu of table of contents."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This layout accept some configuration from content front-matter."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"fluid"}]},{"type":"text","value":": By setting "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"fluid: true"}]},{"type":"text","value":" in content front-matter the content will be rendered in full width."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"constrainedClass"}]},{"type":"text","value":": Using this option you can modify layout container look. Like constraining layout width of changing the background."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"padded"}]},{"type":"text","value":": Setting "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"padded: true"}]},{"type":"text","value":" in front-matter will add horizontal padding in the layout."}]}]},{"type":"element","tag":"pre","props":{"className":"language-md shiki shiki-themes github-dark github-light","code":"---\ntitle: Home\nlayout: page\nfluid: true\n---\n","filename":"index.md","language":"md","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"title"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"Home\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"layout"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#9ECBFF;--shiki-default:#032F62"},"children":[{"type":"text","value":"page\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#85E89D;--shiki-default:#22863A"},"children":[{"type":"text","value":"fluid"}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"--shiki-dark:#79B8FF;--shiki-default:#005CC5"},"children":[{"type":"text","value":"true\n"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"--shiki-dark:#E1E4E8;--shiki-default:#24292E"},"children":[{"type":"text","value":"---\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Check "},{"type":"element","tag":"a","props":{"href":"/"},"children":[{"type":"text","value":"Home page"}]},{"type":"text","value":" as live sample of page layout"}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"default","depth":2,"text":"default"},{"id":"page","depth":2,"text":"page"}]}},"_type":"markdown","_id":"content:2.api:3.layouts.md","_source":"content","_file":"2.api/3.layouts.md","_extension":"md"}],"navigation":[{"title":"Introduction","_path":"/introduction","children":[{"title":"Getting Started","_path":"/introduction/getting-started"},{"title":"Project Structure","_path":"/introduction/project-structure"},{"title":"Writing Pages","_path":"/introduction/writing-pages"},{"title":"Configuration","_path":"/introduction/configuration"}],"icon":"ph:star-duotone","redirect":"/introduction/getting-started"},{"title":"API","_path":"/api","children":[{"title":"Components","_path":"/api/components"},{"title":"Composables","_path":"/api/composables"},{"title":"Layouts","_path":"/api/layouts"}],"icon":"heroicons-outline:bookmark-alt"}]} \ No newline at end of file diff --git a/.output/public/api/search b/.output/public/api/search new file mode 100644 index 0000000000..a1dc73df0e --- /dev/null +++ b/.output/public/api/search @@ -0,0 +1 @@ +[{"id":"content:0.index.md","path":"/","dir":"","title":"Home","description":"","keywords":[],"body":" Welcome to setup.md. A wiki focused on deliverying everything needed for hosting your own Minecraft server for friends, family or a community. Community backed project with over 300 commits Hundreds of hours of playtime validation Simple to contribute to via Github Version 3 built to be faster than ever before What's New 🎉 New Stack Built on Nuxt 3, Vue with the simplicity of Markdown. Super Snappy We're even faster than before with a light weight framework and serverless deployments. Easier Contributions Cleaner code means easier contributions and hopefully even more of them!"},{"id":"content:1.introduction:1.getting-started.md","path":"/introduction/getting-started","dir":"introduction","title":"Getting Started","description":"From your Markdown files to a deployed website in few minutes.","keywords":["Play online","Create a new project"],"body":" Getting Started From your Markdown files to a deployed website in few minutes. Play online You can start playing with Docus in your browser using Stackblitz: Play on StackBlitz Create a new project Start a fresh Docus project with: npx nuxi@latest init docs -t themes/docus\n Install the dependencies in the docs folder: npm install\n yarn install\n pnpm install --shamefully-hoist\n Run the dev command to start Docus in development mode: npm run dev\n yarn dev\n pnpm run dev\n ✨ Well done! A browser window should automatically open for http://localhost:3000 html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:1.introduction:2.project-structure.md","path":"/introduction/project-structure","dir":"introduction","title":"Project Structure","description":"Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home.","keywords":["Directory Structure"],"body":" Project Structure Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home. Directory Structure This is the minimal directory structure to get an up and running Docus website. content/\n index.md\n app.config.ts\n nuxt.config.ts\n The content/ directory is where you write Markdown pages . The app.config.ts is where you configure Docus to fit your branding and design. The nuxt.config.ts is your Nuxt configuration . html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:1.introduction:3.writing-pages.md","path":"/introduction/writing-pages","dir":"introduction","title":"Writing Pages","description":"Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax.","keywords":["Frontmatter"],"body":" Writing Pages Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax. Each Markdown pages in the content/ folder will be mapped to a route. File Generated route index.md / about.md /about blog/index.md /blog blog/hello.md /blog/hello 1.guide/2.installation /guide/installation Frontmatter Docus supports multiple Front-matter attributes for pages. ---\n title : \"Get Started\"\n description : \"Let's learn how to use my amazing module.\"\n ---\n Key Type Default Description layout string default Use any layout name like you would in definePageMeta() title string Defines the page title and H1 in docs pages description string Defines the page description and excerpt in docs pages redirect string A route path to redirect image object OpenGraph cover image Docs layout options aside boolean Toggles the visibility of aside navigation toc boolean Toggles the visibility of table of contents header boolean Toggles the visibility of the page header bottom boolean Toggles the visibility of page bottom section Navigation options navigation boolean Toggles the visibility of the page or directory in navigation navigation.title string Changes the name of the page or directory in navigation navigation.icon string Changes the icon of the page or directory in navigation html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:1.introduction:4.configuration.md","path":"/introduction/configuration","dir":"introduction","title":"Configuration","description":"Learn how to configure Docus.","keywords":["Customizing the logo"],"body":" Configuration Learn how to configure Docus. export default defineAppConfig ({\n docus: {\n title: 'Docus' ,\n description: 'My Docus Project' ,\n url: 'http://docus.dev'\n }\n })\n export default defineAppConfig ({\n docus: {\n title: 'Docus' ,\n description: 'My Docus Project' ,\n url: 'http://docus.dev' ,\n image: '/social-card-preview.png' ,\n socials: {\n twitter: '@nuxt_js' ,\n github: 'nuxt-themes/docus' ,\n },\n github: {\n root: 'content' ,\n edit: true ,\n contributors: false\n },\n layout: 'default' ,\n aside: {\n level: 1 ,\n filter: [],\n },\n header: {\n title: false ,\n logo: true ,\n showLinkIcon: false\n },\n footer: {\n credits: {\n icon: 'IconDocus' ,\n text: 'Powered by Docus' ,\n href: 'https://docus.dev' ,\n },\n textLinks: [\n {\n text: 'Nuxt' ,\n href: 'https://nuxt.com' ,\n target: '_blank' ,\n rel: 'noopener'\n }\n ],\n iconLinks: [\n {\n label: 'NuxtJS' ,\n href: 'https://nuxtjs.org' ,\n component: 'IconNuxtLabs' ,\n },\n {\n label: 'Vue Telescope' ,\n href: 'https://vuetelescope.com' ,\n component: 'IconVueTelescope' ,\n },\n ],\n }\n }\n })\n Key Type Default Description title string Docus Website title titleTemplate string Docus Website title template description string My Docus Project Website description url string Website URL layout string default Fallback layout to use (supports default or page ) Socials socials object {} Social links socials.github string The repository to use on GitHub links socials.twitter string The account to use on Twitter links socials.youtube string The channel to use on Youtube links socials.instagram string The account to use on Instagram links socials.facebook string The account to use on Facebook links socials.medium string The account to use on Medium links socials.[social] object Override social or display custom one socials.[social].label string A label to use for the social socials.[social].icon string A icon to use for the social socials.[social].href string A link to use for the social socials.[social].rel string noopener noreferrer A space-separated list of link types Header header object Header configuration header.logo boolean Whether or not to use Logo.vue as the header logo header.title string If set to a string, will be used in the header header.showLinkIcon boolean If set to true links icons will show in the header header.exclude string[] An array of path to exclude out from the header navigation header.fluid boolean true Make header Container fluid Main main object Main configuration main.fluid boolean true Make main content Container fluid main.padded boolean true Make main content Container padded Aside aside object Aside configuration aside.level string 0 Aside base level of nesting aside.collapsed boolean Will be used as default value for collapsible navigation categories aside.exclude string[] An array of path to exclude out from the aside navigation Footer footer object Footer configuration footer.credits object An object defining the bottom left credits footer.credits.icon object The icon to use for the credits footer.credits.text object The text to use for the credits footer.textLinks array [] An array of texts to display at the center of footer footer.textLinks[0].text string The text to display footer.textLinks[0].href string A link to use for the text footer.textLinks[0].target string _self Where to display the linked URL, as the name for a browsing context footer.textLinks[0].rel string noopener noreferrer A space-separated list of link types footer.iconLinks array [] An array of icons to display in the footer footer.iconLinks[0].label string A label to use for the icon footer.iconLinks[0].href string A link to use for the icon footer.iconLinks[0].icon string The icon to use (can be a component name) footer.iconLinks[0].rel string noopener noreferrer A space-separated list of link types footer.fluid boolean true Make footer Container fluid GitHub github object false GitHub integration configuration github.dir string Directory containing the files to be edited github.branch string Branch to start editing github.repo string Name of the GitHub repo to edit files github.owner string Owner of the repo github.edit boolean Toggle \"Edit this page on Github\" component on documentation pages Search fuse object useFuse options Customizing the logo To update the logo in the header, create a component in components/Logo.vue with your own logo. In this example, the image is located at /public/img . < template >\n < img width = \"120\" src = \"/img/YOURLOGO.png\" />\n \n html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:2.api:1.components.md","path":"/api/components","dir":"api","title":"Components","description":"Discover every component you can use in your content.","keywords":["","","","","","","","","","","","","","",""],"body":" Components Discover every component you can use in your content. Check out an info alert with code and a link . Check out a success alert with code and a link . Check out a warning alert with code and a link . Check out a danger alert with code and a link . ::alert{type=\"info\"}\n Check out an **info** alert with `code` and a [ link ]( / ).\n ::\n \n ::alert{type=\"success\"}\n Check out a **success** alert with `code` and a [ link ]( / ).\n ::\n \n ::alert{type=\"warning\"}\n Check out a **warning** alert with `code` and a [ link ]( / ).\n ::\n \n ::alert{type=\"danger\"}\n Check out a **danger** alert with `code` and a [ link ]( / ).\n ::\n support same types as . v1.2 Deprecated Not found! :badge[ v1.2 ]\n \n :badge[ Deprecated ]{type=\"warning\"}\n \n ::badge{type=\"danger\"}\n Not found!\n ::\n Document-driven framework Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites. ::block-hero\n ---\n cta:\n - Get started\n - /get-started\n secondary:\n - Open on GitHub →\n - https://github.com/nuxtlabs/docus\n snippet: npx nuxi@latest init docus-app -t nuxtlabs/docus-starter\n ---\n #title\n Document-driven framework\n \n #description\n Docus reconciles content creators and developers by offering to both the best tools to create and scale content-based websites.\n ::\n Play on StackBlitz :button-link[Play on StackBlitz]{icon=\"IconStackBlitz\" href=\"https://stackblitz.com/github/nuxtlabs/docus-starter\" blank}\n support same types as . This is a callout! Click me to open. This is the content of the callout. This is a callout! Click me to open. This is the content of the callout. ::callout\n #summary\n This is a callout! Click me to open.\n \n #content\n This is the content of the callout.\n ::\n \n ::callout{type=\"warning\"}\n #summary\n This is a callout! Click me to open.\n \n #content\n This is the content of the callout.\n ::\n Nuxt Architecture. Based on Nuxt 3 and Nuxt Content . \nUse Nuxt to build a static site, or a serverless app. ::card{icon=\"logos:nuxt-icon\"}\n #title\n Nuxt Architecture.\n #description\n Based on **Nuxt 3** and **Nuxt Content** . :br\n Use Nuxt to build a static site, or a serverless app.\n ::\n What's included? Nuxt Architecture. Harness the full power of Nuxt and the Nuxt ecosystem. Vue Components. Use built-in components (or your own!) inside your content. Write Markdown. Enjoy the ease and simplicity of Markdown and discover MDC syntax. ::card-grid\n #title\n What's included\n \n #root\n :ellipsis\n \n #default\n ::card\n #title\n Nuxt Architecture.\n #description\n Harness the full power of Nuxt and the Nuxt ecosystem.\n ::\n ::card\n #title\n Vue Components.\n #description\n Use built-in components (or your own!) inside your content.\n ::\n ::card\n #title\n Write Markdown.\n #description\n Enjoy the ease and simplicity of Markdown and discover MDC syntax.\n ::\n ::\n This component uses slots to create a tab panel of your code examples or preview. yarn add docus\n npm install docus\n ::code-group\n ```bash [Yarn]\n yarn add docus\n ```\n ```bash [NPM]\n npm install docus\n ```\n ::\n To be used inside a component to display a preview of some rendered code. Hello World! /* Added as a child of `` */\n \n ::code-block{label=\"Preview\" preview}\n ::badge\n Hello World!\n ::\n ::\n :copy-button{content=\"hey!\"}\n Icon component gives you access to all 100,000+ icons from icones.js.org . :icon{name=\"logos:nuxt-icon\"}\n :icon{name=\"logos:vue\"}\n :icon{name=\"logos:nuxt-icon\"}\n Important Always Amazing Congrats Do you know? You can also do this Be careful Use with precautions Drinking too much Driving drunk ::list{type=\"primary\"}\n - **Important**\n - Always\n ::\n \n ::list{type=\"success\"}\n - Amazing\n - Congrats\n ::\n \n ::list{type=\"info\"}\n - Do you know?\n - You can also do this\n ::\n \n ::list{type=\"warning\"}\n - Be careful\n - Use with precautions\n ::\n \n ::list{type=\"danger\"}\n - Drinking too much\n - Driving drunk\n ::\n Embed CodeSandbox/StackBlitz easily in your documentation with great performances. Using the IntersectionObserver to load when visible in the viewport. :sandbox{src=\"https://codesandbox.io/embed/nuxt-content-l164h?hidenavigation=1&theme=dark\"}\n :terminal{content=\"nuxi build\"}\n ::div\n :video-player{src=\"https://www.youtube.com/watch?v=o9e12WbKrd8\"}\n ::\n html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:2.api:2.composables.md","path":"/api/composables","dir":"api","title":"Composables","description":"Discover the Docus composables to use in your custom Vue components and pages.","keywords":["useDocus()","useMenu()","useScrollspy()"],"body":" Composables Discover the Docus composables to use in your custom Vue components and pages. useDocus() useDocus ()\n gives access to docus runtime config, all default values and your custom config from app.config.ts config refers to the merged config of the current page. main , header , aside , footer and titleTemplate can be set from _dir.yml and any page.md file. The configs in app.config file will be used as defaults. < script setup >\n const { config } = useDocus ()\n \n \n < template >\n < div >\n < h1 >{{ config.title }}\n < p >{{ config.description }}\n \n \n tree refers to the current navigation tree that is displayed in the aside component. < script setup >\n const { tree } = useDocus ()\n \n \n < template >\n < DocsAsideTree :links = \"tree\" />\n \n useMenu() useMenu() gives access to $menu plugin controlling mobile navigation globally. const {\n // Is menu visible\n visible ,\n // Close menu function\n close ,\n // Open menu function\n open ,\n // Toggle menu function\n toggle\n } = useMenu ()\n useScrollspy() useScrollspy() is used in docs layout to make the ToC display the currently visible headings. const {\n // Headings on the page\n visibleHeadings ,\n // Active headings (for the current page)\n activeHeadings ,\n // Update headings (an array of DOM nodes)\n updateHeadings\n } = useScrollspy ()\n html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"},{"id":"content:2.api:3.layouts.md","path":"/api/layouts","dir":"api","title":"Layouts","description":"Docus provides multiple built-in layouts for displaying your Markdown pages.","keywords":["default","page"],"body":" Layouts Docus provides multiple built-in layouts for displaying your Markdown pages. default The default layout for every page created in the project. This layout renders multiple section alongside the content: Aside navigation menu (togglable with aside: false/true ) Page bottom section (togglable with bottom: false/true ) Table of content (togglable with toc: false/true ) ---\n aside : true\n bottom : true\n toc : false\n ---\n \n Your awesome content\n Current page is live sample of default layout. page page layout is content focused layout. This layout does not render aside menu of table of contents. This layout accept some configuration from content front-matter. fluid : By setting fluid: true in content front-matter the content will be rendered in full width. constrainedClass : Using this option you can modify layout container look. Like constraining layout width of changing the background. padded : Setting padded: true in front-matter will add horizontal padding in the layout. ---\n title : Home\n layout : page\n fluid : true\n ---\n Check Home page as live sample of page layout html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}"}] \ No newline at end of file diff --git a/.output/public/cover.png b/.output/public/cover.png new file mode 100644 index 0000000000..c8b34731aa Binary files /dev/null and b/.output/public/cover.png differ diff --git a/.output/public/favicon.ico b/.output/public/favicon.ico new file mode 100644 index 0000000000..dfe416355a Binary files /dev/null and b/.output/public/favicon.ico differ diff --git a/.output/public/opensearch.xml/index.html b/.output/public/opensearch.xml/index.html new file mode 100644 index 0000000000..49ec7134ae --- /dev/null +++ b/.output/public/opensearch.xml/index.html @@ -0,0 +1,9 @@ + + + setup.md + Your open source Minecraft administration wiki. + https://docus.dev/favicon.ico + + + + \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs b/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs new file mode 100644 index 0000000000..d7db17ad2d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs @@ -0,0 +1,79 @@ +import { useSSRContext, defineComponent, mergeProps } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import { _ as _export_sfc } from '../server.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Alert", + __ssrInlineRender: true, + props: { + /** + * @values info, success, warning, danger + */ + type: { + type: String, + default: "info", + validator(value) { + return ["info", "success", "warning", "danger", "primary"].includes(value); + } + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(`
`); + ssrRenderSlot(_ctx.$slots, "default", { unwrap: "p" }, null, _push, _parent); + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Alert.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-03ea57c1"]]); + +export { __nuxt_component_2 as default }; +//# sourceMappingURL=Alert-e89bb36c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs.map b/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs.map new file mode 100644 index 0000000000..177bb6329d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Alert-e89bb36c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Alert-e89bb36c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Alert-e89bb36c.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,OAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,MACT,UAAU,KAAO,EAAA;AACf,QAAO,OAAA,CAAC,QAAQ,SAAW,EAAA,SAAA,EAAW,UAAU,SAAS,CAAA,CAAE,SAAS,KAAK,CAAA,CAAA;AAAA,OAC3E;AAAA,KACF;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,QACrC,OAAO,CAAC,OAAA,EAAS,CAAC,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,OAC9B,EAAA,MAAM,CAAC,CAAC,CAA8D,4DAAA,CAAA,CAAA,CAAA;AACzE,MAAc,aAAA,CAAA,IAAA,CAAK,QAAQ,SAAW,EAAA,EAAE,QAAQ,GAAI,EAAA,EAAG,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAC3E,MAAA,KAAA,CAAM,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,KACtB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iEAAiE,CAAA,CAAA;AAC9I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs b/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs new file mode 100644 index 0000000000..1372914ec0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs @@ -0,0 +1,79 @@ +import { useSSRContext, defineComponent, mergeProps } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import { _ as _export_sfc } from '../server.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Badge", + __ssrInlineRender: true, + props: { + /** + * @values info, success, warning, danger + */ + type: { + type: String, + default: "info", + validator(value) { + return ["info", "success", "warning", "danger", "primary"].includes(value); + } + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", { unwrap: "p" }, null, _push, _parent); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Badge.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0f05aaa2"]]); + +export { __nuxt_component_2 as default }; +//# sourceMappingURL=Badge-30890d1c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs.map b/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs.map new file mode 100644 index 0000000000..94b7d3e75d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Badge-30890d1c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Badge-30890d1c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Badge-30890d1c.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,OAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,MACT,UAAU,KAAO,EAAA;AACf,QAAO,OAAA,CAAC,QAAQ,SAAW,EAAA,SAAA,EAAW,UAAU,SAAS,CAAA,CAAE,SAAS,KAAK,CAAA,CAAA;AAAA,OAC3E;AAAA,KACF;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,KAAA,EAAQ,eAAe,UAAW,CAAA;AAAA,QACtC,OAAO,CAAC,CAAC,OAAQ,CAAA,IAAI,GAAG,OAAO,CAAA;AAAA,OAC9B,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC9B,MAAc,aAAA,CAAA,IAAA,CAAK,QAAQ,SAAW,EAAA,EAAE,QAAQ,GAAI,EAAA,EAAG,IAAM,EAAA,KAAA,EAAO,OAAO,CAAA,CAAA;AAC3E,MAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,KACjB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iEAAiE,CAAA,CAAA;AAC9I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs b/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs new file mode 100644 index 0000000000..feb6c50301 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs @@ -0,0 +1,159 @@ +import __nuxt_component_1 from './ButtonLink-8e56d417.mjs'; +import __nuxt_component_2 from './Terminal-4e6973c9.mjs'; +import __nuxt_component_3 from './VideoPlayer-1ec85efa.mjs'; +import { useSSRContext, defineComponent, mergeProps, withCtx, createTextVNode, toDisplayString } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderAttr, ssrRenderSlot as ssrRenderSlot$1 } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import { _ as _export_sfc } from '../server.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './NuxtImg-4d4c6866.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "BlockHero", + __ssrInlineRender: true, + props: { + cta: { + type: Array, + required: false, + default: () => [] + }, + secondary: { + type: Array, + required: false, + default: () => [] + }, + video: { + type: String, + required: false, + default: "" + }, + snippet: { + type: [Array, String], + required: false, + default: "" + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + const _component_ButtonLink = __nuxt_component_1; + const _component_Terminal = __nuxt_component_2; + const _component_VideoPlayer = __nuxt_component_3; + _push(`
`); + if (_ctx.$slots.announce) { + _push(`

`); + ssrRenderSlot(_ctx.$slots, "announce", { unwrap: "p" }, null, _push, _parent); + _push(`

`); + } else { + _push(``); + } + _push(`

`); + ssrRenderSlot(_ctx.$slots, "title", { unwrap: "p" }, () => { + _push(` Hero Title `); + }, _push, _parent); + _push(`

`); + ssrRenderSlot(_ctx.$slots, "description", { unwrap: "p" }, () => { + _push(` Hero default description. `); + }, _push, _parent); + _push(`

`); + if (_ctx.$slots.extra) { + _push(`
`); + ssrRenderSlot(_ctx.$slots, "extra", { unwrap: "p" }, null, _push, _parent); + _push(`
`); + } else { + _push(``); + } + _push(`
`); + if (_ctx.$slots.actions) { + ssrRenderSlot(_ctx.$slots, "actions", { unwrap: "p" }, null, _push, _parent); + } else { + _push(``); + if (__props.cta) { + _push(ssrRenderComponent(_component_ButtonLink, { + class: "cta", + bold: "", + size: "medium", + href: __props.cta[1] + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(__props.cta[0])}`); + } else { + return [ + createTextVNode(toDisplayString(__props.cta[0]), 1) + ]; + } + }), + _: 1 + }, _parent)); + } else { + _push(``); + } + if (__props.secondary) { + _push(`${ssrInterpolate(__props.secondary[0])}`); + } else { + _push(``); + } + _push(``); + } + _push(`
`); + ssrRenderSlot$1(_ctx.$slots, "support", {}, () => { + if (__props.snippet) { + _push(ssrRenderComponent(_component_Terminal, { content: __props.snippet }, null, _parent)); + } else if (__props.video) { + _push(ssrRenderComponent(_component_VideoPlayer, { src: __props.video }, null, _parent)); + } else { + _push(``); + } + }, _push, _parent); + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const BlockHero = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-537c80a6"]]); + +export { BlockHero as default }; +//# sourceMappingURL=BlockHero-8f28d75e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs.map b/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs.map new file mode 100644 index 0000000000..8975025db1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/BlockHero-8f28d75e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"BlockHero-8f28d75e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/BlockHero-8f28d75e.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs b/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs new file mode 100644 index 0000000000..d23b689e66 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs @@ -0,0 +1,118 @@ +import { _ as _export_sfc, n as computedStyle, k as usePinceauRuntime, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { f as flatUnwrap } from './MDCSlot-b6f8d3a7.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, unref, withCtx, openBlock, createBlock, createCommentVNode, renderSlot as renderSlot$1 } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const renderSlot = (slots, name, props, ...rest) => { + if (slots[name]) { + return renderSlot$1({ ...slots, [name]: () => flatUnwrap(slots[name](), props == null ? void 0 : props.unwrap) }, name, props, ...rest); + } + return renderSlot$1(slots, name, props, ...rest); +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ButtonLink", + __ssrInlineRender: true, + props: { + blank: { + type: Boolean, + required: false, + default: false + }, + color: computedStyle("primary"), + href: { + type: String, + required: true, + default: "" + }, + icon: { + type: String, + default: "" + }, + ...{ "size": { "required": false, "type": [String, Object], "default": "medium" }, "transparent": { "required": false, "type": [Boolean, Object], "default": false } } + }, + setup(__props) { + const _YM9_buttonPrimary = computed(() => ((props = __$pProps) => `{color.${props.color}.600}`)()); + const _A23_buttonSecondary = computed(() => ((props = __$pProps) => `{color.${props.color}.500}`)()); + const __$pProps = __props; + const __$pVariants = { "size": { "small": { "padding": "{space.2} {space.4}", "fontSize": "{text.sm.fontSize}", "lineHeight": "{text.sm.lineHeight}" }, "medium": { "padding": "{space.rem.625} {space.5}", "fontSize": "{text.base.fontSize}", "lineHeight": "{text.base.lineHeight}" }, "large": { "padding": "{space.3} {space.6}", "fontSize": "{text.lg.fontSize}", "lineHeight": "{text.lg.lineHeight}" }, "giant": { "padding": "{space.4} {space.8}", "fontSize": "{text.lg.fontSize}", "lineHeight": "{text.lg.lineHeight}" } }, "transparent": { "true": { "backgroundColor": "transparent" } } }; + const { $pinceau } = usePinceauRuntime(__$pProps, __$pVariants, { _YM9_buttonPrimary, _A23_buttonSecondary }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(ssrRenderComponent(_component_NuxtLink, mergeProps({ + class: ["button-link", [unref($pinceau)]], + to: __props.href, + target: __props.blank ? "_blank" : void 0 + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (__props.icon) { + _push2(ssrRenderComponent(_component_Icon, { name: __props.icon }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + ssrRenderSlot(_ctx.$slots, "default", { unwrap: "p ul li" }, null, _push2, _parent2, _scopeId); + } else { + return [ + __props.icon ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: __props.icon + }, null, 8, ["name"])) : createCommentVNode("", true), + renderSlot(_ctx.$slots, "default", { unwrap: "p ul li" }, void 0, true) + ]; + } + }), + _: 3 + }, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d103c1ea"]]); + +export { __nuxt_component_1 as default }; +//# sourceMappingURL=ButtonLink-8e56d417.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs.map b/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs.map new file mode 100644 index 0000000000..b8dcaff390 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ButtonLink-8e56d417.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ButtonLink-8e56d417.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ButtonLink-8e56d417.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs b/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs new file mode 100644 index 0000000000..0a94a2aa22 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs @@ -0,0 +1,94 @@ +import { _ as _export_sfc, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, ref, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderStyle } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './MDCSlot-b6f8d3a7.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Callout", + __ssrInlineRender: true, + props: { + /** + * @values info, success, warning, danger + */ + type: { + type: String, + default: "info", + validator(value) { + return ["info", "success", "warning", "danger", "primary"].includes(value); + } + }, + modelValue: { + required: false, + default: () => ref(false) + } + }, + emits: ["update:modelValue"], + setup(__props, { emit: __emit }) { + const props = __props; + const isOpen = ref(props.modelValue); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + _push(``); + ssrRenderSlot(_ctx.$slots, "summary", {}, null, _push, _parent); + _push(``); + _push(ssrRenderComponent(_component_Icon, { + name: "heroicons-outline:chevron-right", + class: ["icon", [unref(isOpen) && "rotate"]] + }, null, _parent)); + _push(`
`); + ssrRenderSlot(_ctx.$slots, "content", {}, null, _push, _parent); + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Callout.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const Callout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e294706d"]]); + +export { Callout as default }; +//# sourceMappingURL=Callout-3727c4b0.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs.map b/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs.map new file mode 100644 index 0000000000..9eaf3f4752 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Callout-3727c4b0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Callout-3727c4b0.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Callout-3727c4b0.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,SAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,MACT,UAAU,KAAO,EAAA;AACf,QAAO,OAAA,CAAC,QAAQ,SAAW,EAAA,SAAA,EAAW,UAAU,SAAS,CAAA,CAAE,SAAS,KAAK,CAAA,CAAA;AAAA,OAC3E;AAAA,KACF;AAAA,IACA,UAAY,EAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,OAAA,EAAS,MAAM,GAAA,CAAI,KAAK,CAAA;AAAA,KAC1B;AAAA,GACF;AAAA,EACA,KAAA,EAAO,CAAC,mBAAmB,CAAA;AAAA,EAC3B,KAAM,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAU,EAAA;AAC/B,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,MAAA,GAAS,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACnC,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,eAAkB,GAAAA,oBAAA,CAAA;AACxB,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,QACrC,OAAO,CAAC,SAAA,EAAW,CAAC,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,OAChC,EAAA,MAAM,CAAC,CAAC,CAA+F,6FAAA,CAAA,CAAA,CAAA;AAC1G,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,MAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AACf,MAAA,KAAA,CAAM,mBAAmB,eAAiB,EAAA;AAAA,QACxC,IAAM,EAAA,iCAAA;AAAA,QACN,KAAA,EAAO,CAAC,MAAQ,EAAA,CAAC,MAAM,MAAM,CAAA,IAAK,QAAQ,CAAC,CAAA;AAAA,OAC7C,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AACjB,MAAM,KAAA,CAAA,CAAA,mBAAA,EAAsB,cAAe,CAAA,KAAA,CAAM,MAAM,CAAA,GAAI,IAAO,GAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,CAAC,CAAoC,kCAAA,CAAA,CAAA,CAAA;AAC1H,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,MAAA,KAAA,CAAM,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,KACtB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,mEAAmE,CAAA,CAAA;AAChJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,OAAA,+BAAsC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs b/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs new file mode 100644 index 0000000000..1df80e9d28 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs @@ -0,0 +1,85 @@ +import { _ as _export_sfc, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import { s as ssrRenderSlot$1 } from './ssrSlot-5d5c6395.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './MDCSlot-b6f8d3a7.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Card", + __ssrInlineRender: true, + props: { + icon: { + type: String, + default: "" + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + _push(``); + if (__props.icon) { + _push(ssrRenderComponent(_component_Icon, { name: __props.icon }, null, _parent)); + } else { + _push(``); + } + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`

`); + ssrRenderSlot$1(_ctx.$slots, "title", { unwrap: "p" }, () => { + _push(` Card title `); + }, _push, _parent); + _push(`

`); + ssrRenderSlot$1(_ctx.$slots, "description", { unwrap: "p" }, () => { + _push(` Card description `); + }, _push, _parent); + _push(`

`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/landing/Card.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const Card = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-34524c46"]]); + +export { Card as default }; +//# sourceMappingURL=Card-2ede1e4d.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs.map b/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs.map new file mode 100644 index 0000000000..ab7c7c65e1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Card-2ede1e4d.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Card-2ede1e4d.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Card-2ede1e4d.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,MAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,eAAkB,GAAAA,oBAAA,CAAA;AACxB,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,QAAU,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrF,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAM,KAAA,CAAA,kBAAA,CAAmB,iBAAiB,EAAE,IAAA,EAAM,QAAQ,IAAK,EAAA,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC3E,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,MAAA,KAAA,CAAM,CAAyD,uDAAA,CAAA,CAAA,CAAA;AAC/D,MAAA,eAAA,CAAgB,KAAK,MAAQ,EAAA,OAAA,EAAS,EAAE,MAAQ,EAAA,GAAA,IAAO,MAAM;AAC3D,QAAA,KAAA,CAAM,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,OACtB,EAAG,OAAO,OAAO,CAAA,CAAA;AACjB,MAAA,KAAA,CAAM,CAA8C,4CAAA,CAAA,CAAA,CAAA;AACpD,MAAA,eAAA,CAAgB,KAAK,MAAQ,EAAA,aAAA,EAAe,EAAE,MAAQ,EAAA,GAAA,IAAO,MAAM;AACjE,QAAA,KAAA,CAAM,CAAoB,kBAAA,CAAA,CAAA,CAAA;AAAA,OAC5B,EAAG,OAAO,OAAO,CAAA,CAAA;AACjB,MAAA,KAAA,CAAM,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,gEAAgE,CAAA,CAAA;AAC7I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,IAAA,+BAAmC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs b/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs new file mode 100644 index 0000000000..12c9ab4b78 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs @@ -0,0 +1,77 @@ +import { useSSRContext, defineComponent, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrRenderSlot as ssrRenderSlot$1, ssrInterpolate } from 'vue/server-renderer'; +import { s as ssrRenderSlot } from './ssrSlot-5d5c6395.mjs'; +import { _ as _export_sfc } from '../server.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "CardGrid", + __ssrInlineRender: true, + props: { + title: { + type: String, + default: "Features" + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(``); + ssrRenderSlot(_ctx.$slots, "root", {}, null, _push, _parent); + _push(`

`); + ssrRenderSlot(_ctx.$slots, "title", { unwrap: "p" }, () => { + _push(`${ssrInterpolate(__props.title)}`); + }, _push, _parent); + _push(`

`); + ssrRenderSlot$1(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const CardGrid = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f9e22db6"]]); + +export { CardGrid as default }; +//# sourceMappingURL=CardGrid-66c8cd2c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs.map b/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs.map new file mode 100644 index 0000000000..74bde7b4e6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CardGrid-66c8cd2c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"CardGrid-66c8cd2c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/CardGrid-66c8cd2c.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,UAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,UAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,QAAA,EAAW,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,aAAe,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC9F,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,MAAA,EAAQ,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC3D,MAAA,KAAA,CAAM,CAAoC,kCAAA,CAAA,CAAA,CAAA;AAC1C,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,OAAA,EAAS,EAAE,MAAQ,EAAA,GAAA,IAAO,MAAM;AACzD,QAAA,KAAA,CAAM,CAAG,EAAA,cAAA,CAAe,OAAQ,CAAA,KAAK,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,OAC1C,EAAG,OAAO,OAAO,CAAA,CAAA;AACjB,MAAA,KAAA,CAAM,CAA2C,yCAAA,CAAA,CAAA,CAAA;AACjD,MAAA,eAAA,CAAgB,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAChE,MAAA,KAAA,CAAM,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs b/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs new file mode 100644 index 0000000000..855722ab0d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs @@ -0,0 +1,93 @@ +import { useSSRContext, defineComponent, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "CodeBlock", + __ssrInlineRender: true, + props: { + /** + * Label to display for the tab + */ + label: { + type: String, + required: true + }, + /** + * Select which tab should be active + * TODO: seems like it's not used + */ + active: { + type: Boolean, + default: false + }, + /** + * Preview block are bordered and have small padding. + * TODO: seems like it's not used + */ + preview: { + type: Boolean, + default: false + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const CodeBlock = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-22d00392"]]); + +export { CodeBlock as default }; +//# sourceMappingURL=CodeBlock-dbd44ab0.mjs.map diff --git a/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs.map b/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs.map new file mode 100644 index 0000000000..b0d5b68f2a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CodeBlock-dbd44ab0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"CodeBlock-dbd44ab0.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/CodeBlock-dbd44ab0.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,QACrC,KAAA,EAAO,CAAC,YAAc,EAAA;AAAA,UACpB,QAAQ,OAAQ,CAAA,MAAA;AAAA,UAChB,kBAAkB,OAAQ,CAAA,OAAA;AAAA,SAC3B,CAAA;AAAA,OACA,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC9B,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,qEAAqE,CAAA,CAAA;AAClJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,SAAA,+BAAwC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs b/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs new file mode 100644 index 0000000000..434b079169 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs @@ -0,0 +1,133 @@ +import { useSSRContext, defineComponent, h } from 'vue'; +import __nuxt_component_0 from './TabsHeader-6f158920.mjs'; +import { _ as _export_sfc } from '../server.mjs'; +import 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const isTag = (slot, tag) => { + return slot.type && slot.type.tag && slot.type.tag === tag; +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + data() { + return { + activeTabIndex: 0, + /** + * A simple number that increases on every changes + */ + counter: 0 + }; + }, + render() { + var _a, _b; + const slots = ((_b = (_a = this.$slots) == null ? void 0 : _a.default) == null ? void 0 : _b.call(_a)) || []; + const tabs = slots.map((slot, index) => { + var _a2, _b2, _c; + return { + label: ((_a2 = slot == null ? void 0 : slot.props) == null ? void 0 : _a2.filename) || ((_b2 = slot == null ? void 0 : slot.props) == null ? void 0 : _b2.label) || `${index}`, + active: ((_c = slot == null ? void 0 : slot.props) == null ? void 0 : _c.active) || false, + component: slot + }; + }); + return h( + "div", + { + class: { + "code-group": true, + "first-tab": this.activeTabIndex === 0 + } + }, + [ + h(__nuxt_component_0, { + ref: "tabs-header", + activeTabIndex: this.activeTabIndex, + tabs, + "onUpdate:activeTabIndex": ($event) => this.activeTabIndex = $event + }), + h( + "div", + { + class: "code-group-content", + text: this.activeTabIndex + }, + // Map slots to content children + slots.map( + (slot, index) => { + var _a2, _b2; + return h( + "div", + { + // Current slot is displayed, others are hidden + style: { + display: index === this.activeTabIndex ? "block" : "none" + }, + class: { + "": !isTag(slot, "code") && !isTag(slot, "pre") + } + }, + // Display direct children if not a ```code``` block + [ + isTag(slot, "code") || isTag(slot, "pre") ? slot : h( + "div", + { + class: { + "preview-canvas": true + } + }, + [((_b2 = (_a2 = slot.children) == null ? void 0 : _a2.default) == null ? void 0 : _b2.call(_a2)) || slot.children] + ) + ] + ); + } + ) + ) + ] + ); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const CodeGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a562a098"]]); + +export { CodeGroup as default }; +//# sourceMappingURL=CodeGroup-d64eabf7.mjs.map diff --git a/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs.map b/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs.map new file mode 100644 index 0000000000..af2cbe1932 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CodeGroup-d64eabf7.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"CodeGroup-d64eabf7.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/CodeGroup-d64eabf7.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs b/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs new file mode 100644 index 0000000000..076b53d6d0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs @@ -0,0 +1,220 @@ +import { useSSRContext, defineComponent, computed, mergeProps, unref, resolveComponent, ref, h } from 'vue'; +import { _ as _export_sfc, k as usePinceauRuntime, z as useAsyncData } from '../server.mjs'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import ComponentPlaygroundData from './ComponentPlaygroundData-c8c06afe.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './TabsHeader-6f158920.mjs'; +import './ComponentPlaygroundProps-0ceb6590.mjs'; +import './ProseH4-148db78a.mjs'; +import './ProseCodeInline-3a7a9d5f.mjs'; +import './Badge-30890d1c.mjs'; +import './ssrSlot-5d5c6395.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './ProseP-9ba527ea.mjs'; +import './ComponentPlaygroundSlots-0dbd767a.mjs'; +import './ComponentPlaygroundTokens-548a0a2d.mjs'; + +async function useComponentMeta(componentName) { + const _componentName = unref(componentName); + { + const { data } = await useAsyncData( + `nuxt-component-meta${_componentName ? `-${_componentName}` : ""}`, + () => { + return $fetch(`/api/component-meta${_componentName ? `/${_componentName}` : ""}`); + } + ); + return computed(() => data.value); + } +} +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "Ellipsis", + __ssrInlineRender: true, + props: { + width: { + type: String, + default: "10rem" + }, + height: { + type: String, + default: "10rem" + }, + zIndex: { + type: String, + default: "10" + }, + top: { + type: String, + default: "0" + }, + left: { + type: String, + default: "auto" + }, + right: { + type: String, + default: "auto" + }, + blur: { + type: String, + default: "50px" + }, + colors: { + type: Array, + default: () => ["rgba(0, 71, 225, 0.22)", "rgba(26, 214, 255, 0.22)", "rgba(0, 220, 130, 0.22)"] + } + }, + setup(__props) { + const _cCN_top = computed(() => ((props = __$pProps) => props.top)()); + const _eih_insetInlineStart = computed(() => ((props = __$pProps) => props.left)()); + const _IfB_insetInlineEnd = computed(() => ((props = __$pProps) => props.right)()); + const _SsE_zIndex = computed(() => ((props = __$pProps) => props.zIndex)()); + const _wj8_maxWidth = computed(() => ((props = __$pProps) => props.width)()); + const _t33_height = computed(() => ((props = __$pProps) => props.height)()); + const _Jfd_filter = computed(() => ((props = __$pProps) => `blur(${props.blur})`)()); + const _yUj_background = computed(() => ((props = __$pProps) => { + var _a, _b, _c; + return `linear-gradient(97.62deg, ${(_a = props == null ? void 0 : props.colors) == null ? void 0 : _a[0]} 2.27%, ${(_b = props == null ? void 0 : props.colors) == null ? void 0 : _b[1]} 50.88%, ${(_c = props == null ? void 0 : props.colors) == null ? void 0 : _c[2]} 98.48%)`; + })()); + const __$pProps = __props; + const { $pinceau } = usePinceauRuntime(__$pProps, void 0, { _cCN_top, _eih_insetInlineStart, _IfB_insetInlineEnd, _SsE_zIndex, _wj8_maxWidth, _t33_height, _Jfd_filter, _yUj_background }); + return (_ctx, _push, _parent, _attrs) => { + _push(`
`); + }; + } +}); +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Ellipsis.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const Ellipsis = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-5fd4c706"]]); +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + component: { + type: String, + required: true + }, + props: { + type: Object, + required: false, + default: () => ({}) + } + }, + async setup(props) { + const as = computed(() => resolveComponent(props.component)); + const formProps = ref({ + ...props.props + }); + const componentData = await useComponentMeta(props.component); + return { + as, + formProps, + componentData + }; + }, + render(ctx) { + const componentSlots = Object.entries(this.$slots).reduce( + (acc, [key, slot]) => { + if (key.startsWith("component-")) { + const slotKey = key.replace("component-", ""); + acc[slotKey] = slot; + } + return acc; + }, + {} + ); + return h( + "div", + { + class: "component-playground" + }, + [ + h( + "div", + { + class: "component-playground-wrapper" + }, + [ + h( + Ellipsis, + { + class: "component-playground-ellipsis", + blur: "5vw", + height: "100%", + width: "100%" + } + ), + h( + ctx.as, + { + ...ctx.formProps, + class: "component-playground-component" + }, + { + ...componentSlots + } + ) + ] + ), + h( + ComponentPlaygroundData, + { + modelValue: ctx.formProps, + componentData: ctx.componentData, + "onUpdate:modelValue": (val) => ctx.formProps = val + } + ) + ] + ); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ComponentPlayground = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9ca9b996"]]); + +export { ComponentPlayground as default }; +//# sourceMappingURL=ComponentPlayground-925a8426.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs.map b/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs.map new file mode 100644 index 0000000000..e839914323 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlayground-925a8426.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ComponentPlayground-925a8426.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ComponentPlayground-925a8426.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs b/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs new file mode 100644 index 0000000000..5c734836af --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs @@ -0,0 +1,129 @@ +import __nuxt_component_0 from './TabsHeader-6f158920.mjs'; +import __nuxt_component_1 from './ComponentPlaygroundProps-0ceb6590.mjs'; +import _sfc_main$1 from './ComponentPlaygroundSlots-0dbd767a.mjs'; +import _sfc_main$2 from './ComponentPlaygroundTokens-548a0a2d.mjs'; +import { useSSRContext, defineComponent, ref, mergeProps, unref, isRef } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import { _ as _export_sfc, B as useVModel } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './ProseH4-148db78a.mjs'; +import './ProseCodeInline-3a7a9d5f.mjs'; +import './Badge-30890d1c.mjs'; +import './ssrSlot-5d5c6395.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './ProseP-9ba527ea.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ComponentPlaygroundData", + __ssrInlineRender: true, + props: { + modelValue: { + type: Object, + required: false, + default: () => ({}) + }, + componentData: { + type: Object, + required: false, + default: () => ({}) + } + }, + emits: ["update:modelValue"], + setup(__props, { emit: __emit }) { + const props = __props; + const emits = __emit; + const formData = useVModel(props, "modelValue", emits); + const activeTabIndex = ref(0); + const tabs = [ + { + label: "Props" + }, + { + label: "Slots" + }, + { + label: "Design Tokens" + } + ]; + const updateTab = (i) => activeTabIndex.value = i; + return (_ctx, _push, _parent, _attrs) => { + const _component_TabsHeader = __nuxt_component_0; + const _component_ComponentPlaygroundProps = __nuxt_component_1; + const _component_ComponentPlaygroundSlots = _sfc_main$1; + const _component_ComponentPlaygroundTokens = _sfc_main$2; + _push(``); + _push(ssrRenderComponent(_component_TabsHeader, { + "active-tab-index": unref(activeTabIndex), + tabs, + "onUpdate:activeTabIndex": updateTab + }, null, _parent)); + if (unref(activeTabIndex) === 0) { + _push(ssrRenderComponent(_component_ComponentPlaygroundProps, { + modelValue: unref(formData), + "onUpdate:modelValue": ($event) => isRef(formData) ? formData.value = $event : null, + "component-data": __props.componentData + }, null, _parent)); + } else { + _push(``); + } + if (unref(activeTabIndex) === 1) { + _push(ssrRenderComponent(_component_ComponentPlaygroundSlots, { "component-data": __props.componentData }, null, _parent)); + } else { + _push(``); + } + if (unref(activeTabIndex) === 2) { + _push(ssrRenderComponent(_component_ComponentPlaygroundTokens, { "component-data": __props.componentData }, null, _parent)); + } else { + _push(``); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ComponentPlaygroundData = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ff75821c"]]); + +export { ComponentPlaygroundData as default }; +//# sourceMappingURL=ComponentPlaygroundData-c8c06afe.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs.map b/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs.map new file mode 100644 index 0000000000..6ef5895b23 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundData-c8c06afe.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ComponentPlaygroundData-c8c06afe.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ComponentPlaygroundData-c8c06afe.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs b/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs new file mode 100644 index 0000000000..67d0f9c75c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs @@ -0,0 +1,154 @@ +import __nuxt_component_0 from './ProseH4-148db78a.mjs'; +import __nuxt_component_1$1 from './ProseCodeInline-3a7a9d5f.mjs'; +import __nuxt_component_2 from './Badge-30890d1c.mjs'; +import __nuxt_component_3 from './ProseP-9ba527ea.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, unref, withCtx, createTextVNode, toDisplayString } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrRenderAttr, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer'; +import { _ as _export_sfc, B as useVModel } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './ssrSlot-5d5c6395.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ComponentPlaygroundProps", + __ssrInlineRender: true, + props: { + modelValue: { + type: Object, + required: true + }, + componentData: { + type: Object, + required: true + } + }, + emits: ["update:modelValue"], + setup(__props, { emit: __emit }) { + const props = __props; + const emits = __emit; + const formData = useVModel(props, "modelValue", emits); + const componentProps = computed(() => { + var _a, _b; + return (_b = (_a = props == null ? void 0 : props.componentData) == null ? void 0 : _a.meta) == null ? void 0 : _b.props; + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_ProseH4 = __nuxt_component_0; + const _component_ProseCodeInline = __nuxt_component_1$1; + const _component_Badge = __nuxt_component_2; + const _component_ProseP = __nuxt_component_3; + _push(``); + ssrRenderList(unref(componentProps), (prop) => { + _push(`
`); + _push(ssrRenderComponent(_component_ProseH4, { + id: prop.name + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(prop.name)}`); + } else { + return [ + createTextVNode(toDisplayString(prop.name), 1) + ]; + } + }), + _: 2 + }, _parent)); + _push(``); + _push(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(prop.type)}`); + } else { + return [ + createTextVNode(toDisplayString(prop.type), 1) + ]; + } + }), + _: 2 + }, _parent)); + if (!prop.required) { + _push(ssrRenderComponent(_component_Badge, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(` Required `); + } else { + return [ + createTextVNode(" Required ") + ]; + } + }), + _: 2 + }, _parent)); + } else { + _push(``); + } + _push(`
`); + if (prop.description) { + _push(ssrRenderComponent(_component_ProseP, null, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(prop.description)}`); + } else { + return [ + createTextVNode(toDisplayString(prop.description), 1) + ]; + } + }), + _: 2 + }, _parent)); + } else { + _push(``); + } + _push(``); + }); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-acf5a6ce"]]); + +export { __nuxt_component_1 as default }; +//# sourceMappingURL=ComponentPlaygroundProps-0ceb6590.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs.map b/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs.map new file mode 100644 index 0000000000..7554d72735 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundProps-0ceb6590.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ComponentPlaygroundProps-0ceb6590.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ComponentPlaygroundProps-0ceb6590.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs b/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs new file mode 100644 index 0000000000..5899e0bec4 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs @@ -0,0 +1,27 @@ +import { defineComponent, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ComponentPlaygroundSlots", + __ssrInlineRender: true, + props: { + componentData: { + type: Object, + required: true + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(`
${ssrInterpolate(JSON.stringify(__props.componentData, null, 2))}
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ComponentPlaygroundSlots-0dbd767a.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs.map b/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs.map new file mode 100644 index 0000000000..6649457313 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ComponentPlaygroundSlots-0dbd767a.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ComponentPlaygroundSlots-0dbd767a.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,0BAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,mCAAoC,EAAA,EAAG,MAAM,CAAC,CAAC,SAAS,cAAe,CAAA,IAAA,CAAK,UAAU,OAAQ,CAAA,aAAA,EAAe,MAAM,CAAC,CAAC,CAAC,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,KACtL,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iFAAiF,CAAA,CAAA;AAC9J,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs b/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs new file mode 100644 index 0000000000..1e66ef80fa --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs @@ -0,0 +1,27 @@ +import { defineComponent, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ComponentPlaygroundTokens", + __ssrInlineRender: true, + props: { + componentData: { + type: Object, + required: true + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + _push(`${ssrInterpolate(__props.componentData)}`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ComponentPlaygroundTokens-548a0a2d.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs.map b/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs.map new file mode 100644 index 0000000000..4be86e2604 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ComponentPlaygroundTokens-548a0a2d.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ComponentPlaygroundTokens-548a0a2d.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,2BAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,KAAA,CAAM,CAAO,IAAA,EAAA,cAAA,CAAe,UAAW,CAAA,EAAE,OAAO,mCAAoC,EAAA,EAAG,MAAM,CAAC,CAAC,CAAI,CAAA,EAAA,cAAA,CAAe,OAAQ,CAAA,aAAa,CAAC,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAClJ,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,kFAAkF,CAAA,CAAA;AAC/J,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs b/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs new file mode 100644 index 0000000000..36dd691a90 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs @@ -0,0 +1,163 @@ +import { g as useRuntimeConfig, b as useRoute, j as useContentHead } from '../server.mjs'; +import { useSSRContext, defineComponent, useSlots, h } from 'vue'; +import { y as withTrailingSlash } from '../../nitro/node-server.mjs'; +import _sfc_main$2 from './ContentRenderer-fb4f700e.mjs'; +import _sfc_main$1 from './ContentQuery-8d8f49ed.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import './ContentRendererMarkdown-ebb4dffb.mjs'; +import 'property-information'; + +const ContentDoc = /* @__PURE__ */ defineComponent({ + name: "ContentDoc", + props: { + /** + * Renderer props + */ + /** + * The tag to use for the renderer element if it is used. + * @default 'div' + */ + tag: { + type: String, + required: false, + default: "div" + }, + /** + * Whether or not to render the excerpt. + * @default false + */ + excerpt: { + type: Boolean, + default: false + }, + /** + * Query props + */ + /** + * The path of the content to load from content source. + * @default useRoute().path + */ + path: { + type: String, + required: false, + default: void 0 + }, + /** + * A query builder params object to be passed to component. + */ + query: { + type: Object, + required: false, + default: void 0 + }, + /** + * Whether or not to map the document data to the `head` property. + */ + head: { + type: Boolean, + required: false, + default: void 0 + } + }, + /** + * Document empty fallback + * @slot empty + */ + /** + * Document not found fallback + * @slot not-found + */ + render(ctx) { + const { contentHead } = useRuntimeConfig().public.content; + const slots = useSlots(); + const { tag, excerpt, path, query, head } = ctx; + const shouldInjectContentHead = head === void 0 ? contentHead : head; + const contentQueryProps = { + ...query || {}, + path: path || (query == null ? void 0 : query.path) || withTrailingSlash(useRoute().path), + find: "one" + }; + const emptyNode = (slot, data) => h("pre", null, JSON.stringify({ message: "You should use slots with ", slot, data }, null, 2)); + return h( + _sfc_main$1, + contentQueryProps, + { + // Default slot + default: (slots == null ? void 0 : slots.default) ? ({ data, refresh, isPartial }) => { + var _a; + if (shouldInjectContentHead) { + useContentHead(data); + } + return (_a = slots.default) == null ? void 0 : _a.call(slots, { doc: data, refresh, isPartial, excerpt, ...this.$attrs }); + } : ({ data }) => { + if (shouldInjectContentHead) { + useContentHead(data); + } + return h( + _sfc_main$2, + { value: data, excerpt, tag, ...this.$attrs }, + // Forward local `empty` slots to ContentRenderer if it is used. + { empty: (bindings) => (slots == null ? void 0 : slots.empty) ? slots.empty(bindings) : emptyNode("default", data) } + ); + }, + // Empty slot + empty: (bindings) => { + var _a; + return ((_a = slots == null ? void 0 : slots.empty) == null ? void 0 : _a.call(slots, bindings)) || h("p", null, "Document is empty, overwrite this content with #empty slot in ."); + }, + // Not Found slot + "not-found": (bindings) => { + var _a; + return ((_a = slots == null ? void 0 : slots["not-found"]) == null ? void 0 : _a.call(slots, bindings)) || h("p", null, "Document not found, overwrite this content with #not-found slot in ."); + } + } + ); + } +}); +const _sfc_main = ContentDoc; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentDoc-9591479f.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs.map b/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs.map new file mode 100644 index 0000000000..3e7a26d2d6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentDoc-9591479f.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentDoc-9591479f.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentDoc-9591479f.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs b/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs new file mode 100644 index 0000000000..69cfb20537 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs @@ -0,0 +1,110 @@ +import { useSSRContext, defineComponent, useSlots, h } from 'vue'; +import _sfc_main$1 from './ContentQuery-8d8f49ed.mjs'; +import '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const emptyNode = (slot, data) => h("pre", null, JSON.stringify({ message: "You should use slots with ", slot, data }, null, 2)); +const ContentList = /* @__PURE__ */ defineComponent({ + name: "ContentList", + props: { + /** + * Query props + */ + /** + * The path of the content to load from content source. + * @default '/' + */ + path: { + type: String, + required: false, + default: void 0 + }, + /** + * A query builder params object to be passed to component. + */ + query: { + type: Object, + required: false, + default: void 0 + } + }, + /** + * Content empty fallback + * @slot empty + */ + /** + * Content not found fallback + * @slot not-found + */ + render(ctx) { + const slots = useSlots(); + const { path, query } = ctx; + const contentQueryProps = { + ...query || {}, + path: path || (query == null ? void 0 : query.path) || "/" + }; + return h( + _sfc_main$1, + contentQueryProps, + { + // Default slot + default: (slots == null ? void 0 : slots.default) ? ({ data, refresh, isPartial }) => slots.default({ list: data, refresh, isPartial, ...this.$attrs }) : (bindings) => emptyNode("default", bindings.data), + // Empty slot + empty: (bindings) => (slots == null ? void 0 : slots.empty) ? slots.empty(bindings) : emptyNode("default", bindings == null ? void 0 : bindings.data), + // Not Found slot + "not-found": (bindings) => { + var _a; + return (slots == null ? void 0 : slots["not-found"]) ? (_a = slots == null ? void 0 : slots["not-found"]) == null ? void 0 : _a.call(slots, bindings) : emptyNode("not-found", bindings == null ? void 0 : bindings.data); + } + } + ); + } +}); +const _sfc_main = ContentList; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentList.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentList-15663796.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs.map b/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs.map new file mode 100644 index 0000000000..7a92897c94 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentList-15663796.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentList-15663796.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentList-15663796.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs b/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs new file mode 100644 index 0000000000..8edbe4f309 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs @@ -0,0 +1,107 @@ +import { useSSRContext, defineComponent, toRefs, computed, useSlots, h } from 'vue'; +import { s as useState, h as useContent, z as useAsyncData, E as fetchContentNavigation, a as __nuxt_component_0$6 } from '../server.mjs'; +import { q as hash } from '../../nitro/node-server.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const ContentNavigation = /* @__PURE__ */ defineComponent({ + name: "ContentNavigation", + props: { + /** + * A query to be passed to `fetchContentNavigation()`. + */ + query: { + type: Object, + required: false, + default: void 0 + } + }, + async setup(props) { + const { + query + } = toRefs(props); + const queryBuilder = computed(() => { + var _a; + if (typeof ((_a = query.value) == null ? void 0 : _a.params) === "function") { + return query.value.params(); + } + return query.value; + }); + if (!queryBuilder.value && useState("dd-navigation").value) { + const { navigation: navigation2 } = useContent(); + return { navigation: navigation2 }; + } + const { data: navigation } = await useAsyncData( + `content-navigation-${hash(queryBuilder.value)}`, + () => fetchContentNavigation(queryBuilder.value) + ); + return { navigation }; + }, + /** + * Navigation empty fallback + * @slot empty + */ + render(ctx) { + const slots = useSlots(); + const { navigation } = ctx; + const renderLink = (link) => h(__nuxt_component_0$6, { to: link._path }, () => link.title); + const renderLinks = (data, level) => h( + "ul", + level ? { "data-level": level } : null, + data.map((link) => { + if (link.children) { + return h("li", null, [renderLink(link), renderLinks(link.children, level + 1)]); + } + return h("li", null, renderLink(link)); + }) + ); + const defaultNode = (data) => renderLinks(data, 0); + return (slots == null ? void 0 : slots.default) ? slots.default({ navigation, ...this.$attrs }) : defaultNode(navigation); + } +}); +const _sfc_main = ContentNavigation; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentNavigation-26a999a2.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs.map b/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs.map new file mode 100644 index 0000000000..13f605dd3d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentNavigation-26a999a2.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentNavigation-26a999a2.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentNavigation-26a999a2.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,oCAAoD,eAAA,CAAA;AAAA,EACxD,IAAM,EAAA,mBAAA;AAAA,EACN,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,KAAA;AAAA,MACV,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,MAAM,KAAO,EAAA;AACjB,IAAM,MAAA;AAAA,MACJ,KAAA;AAAA,KACF,GAAI,OAAO,KAAK,CAAA,CAAA;AAChB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAI,IAAA,EAAA,CAAA;AACJ,MAAI,IAAA,QAAA,CAAS,KAAK,KAAM,CAAA,KAAA,KAAU,OAAO,KAAS,CAAA,GAAA,EAAA,CAAG,YAAY,UAAY,EAAA;AAC3E,QAAO,OAAA,KAAA,CAAM,MAAM,MAAO,EAAA,CAAA;AAAA,OAC5B;AACA,MAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAA,IAAI,CAAC,YAAa,CAAA,KAAA,IAAS,QAAS,CAAA,eAAe,EAAE,KAAO,EAAA;AAC1D,MAAA,MAAM,EAAE,UAAA,EAAY,WAAY,EAAA,GAAI,UAAW,EAAA,CAAA;AAC/C,MAAO,OAAA,EAAE,YAAY,WAAY,EAAA,CAAA;AAAA,KACnC;AACA,IAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAI,MAAM,YAAA;AAAA,MACjC,CAAsB,mBAAA,EAAA,IAAA,CAAK,YAAa,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,MAC9C,MAAM,sBAAuB,CAAA,YAAA,CAAa,KAAK,CAAA;AAAA,KACjD,CAAA;AACA,IAAA,OAAO,EAAE,UAAW,EAAA,CAAA;AAAA,GACtB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,GAAK,EAAA;AACV,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,EAAE,YAAe,GAAA,GAAA,CAAA;AACvB,IAAA,MAAM,UAAa,GAAA,CAAC,IAAS,KAAA,CAAA,CAAEA,oBAAoB,EAAA,EAAE,EAAI,EAAA,IAAA,CAAK,KAAM,EAAA,EAAG,MAAM,IAAA,CAAK,KAAK,CAAA,CAAA;AACvF,IAAM,MAAA,WAAA,GAAc,CAAC,IAAA,EAAM,KAAU,KAAA,CAAA;AAAA,MACnC,IAAA;AAAA,MACA,KAAQ,GAAA,EAAE,YAAc,EAAA,KAAA,EAAU,GAAA,IAAA;AAAA,MAClC,IAAA,CAAK,GAAI,CAAA,CAAC,IAAS,KAAA;AACjB,QAAA,IAAI,KAAK,QAAU,EAAA;AACjB,UAAA,OAAO,CAAE,CAAA,IAAA,EAAM,IAAM,EAAA,CAAC,UAAW,CAAA,IAAI,CAAG,EAAA,WAAA,CAAY,IAAK,CAAA,QAAA,EAAU,KAAQ,GAAA,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,SAChF;AACA,QAAA,OAAO,CAAE,CAAA,IAAA,EAAM,IAAM,EAAA,UAAA,CAAW,IAAI,CAAC,CAAA,CAAA;AAAA,OACtC,CAAA;AAAA,KACH,CAAA;AACA,IAAA,MAAM,WAAc,GAAA,CAAC,IAAS,KAAA,WAAA,CAAY,MAAM,CAAC,CAAA,CAAA;AACjD,IAAA,OAAA,CAAQ,KAAS,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,KAAA,CAAM,WAAW,KAAM,CAAA,OAAA,CAAQ,EAAE,UAAA,EAAY,GAAG,IAAK,CAAA,MAAA,EAAQ,CAAA,GAAI,YAAY,UAAU,CAAA,CAAA;AAAA,GAC1H;AACF,CAAC,CAAA,CAAA;AACD,MAAM,SAAY,GAAA,kBAAA;AAClB,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,0EAA0E,CAAA,CAAA;AACvJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs b/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs new file mode 100644 index 0000000000..dc4e17c8bb --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs @@ -0,0 +1,262 @@ +import { useSSRContext, defineComponent, toRefs, computed, watch, useSlots, h } from 'vue'; +import { g as useRuntimeConfig, z as useAsyncData, D as queryContent } from '../server.mjs'; +import { q as hash } from '../../nitro/node-server.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const ContentQuery = /* @__PURE__ */ defineComponent({ + name: "ContentQuery", + props: { + /** + * The path of the content to load from content source. + */ + path: { + type: String, + required: false, + default: void 0 + }, + /** + * Select a subset of fields + */ + only: { + type: Array, + required: false, + default: void 0 + }, + /** + * Remove a subset of fields + */ + without: { + type: Array, + required: false, + default: void 0 + }, + /** + * Filter results + */ + where: { + type: Object, + required: false, + default: void 0 + }, + /** + * Sort results + */ + sort: { + type: Object, + required: false, + default: void 0 + }, + /** + * Limit number of results + */ + limit: { + type: Number, + required: false, + default: void 0 + }, + /** + * Skip number of results + */ + skip: { + type: Number, + required: false, + default: void 0 + }, + /** + * Filter contents based on locale + */ + locale: { + type: String, + required: false, + default: void 0 + }, + /** + * A type of query to be made. + */ + find: { + type: String, + required: false, + default: void 0 + } + }, + async setup(props) { + const { + path, + only, + without, + where, + sort, + limit, + skip, + locale, + find + } = toRefs(props); + const isPartial = computed(() => { + var _a; + return (_a = path.value) == null ? void 0 : _a.includes("/_"); + }); + const legacy = !useRuntimeConfig().public.content.experimental.advanceQuery; + watch(() => props, () => refresh(), { deep: true }); + const resolveResult = (result) => { + if (legacy) { + if (result == null ? void 0 : result.surround) { + return result.surround; + } + return (result == null ? void 0 : result._id) || Array.isArray(result) ? result : result == null ? void 0 : result.result; + } + return result.result; + }; + const { data, refresh } = await useAsyncData( + `content-query-${hash(props)}`, + () => { + let queryBuilder; + if (path.value) { + queryBuilder = queryContent(path.value); + } else { + queryBuilder = queryContent(); + } + if (only.value) { + queryBuilder = queryBuilder.only(only.value); + } + if (without.value) { + queryBuilder = queryBuilder.without(without.value); + } + if (where.value) { + queryBuilder = queryBuilder.where(where.value); + } + if (sort.value) { + queryBuilder = queryBuilder.sort(sort.value); + } + if (limit.value) { + queryBuilder = queryBuilder.limit(limit.value); + } + if (skip.value) { + queryBuilder = queryBuilder.skip(skip.value); + } + if (locale.value) { + queryBuilder = queryBuilder.where({ _locale: locale.value }); + } + if (find.value === "one") { + return queryBuilder.findOne().then(resolveResult); + } + if (find.value === "surround") { + if (!path.value) { + console.warn("[Content] Surround queries requires `path` prop to be set."); + console.warn("[Content] Query without `path` will return regular `find()` results."); + return queryBuilder.find().then(resolveResult); + } + if (legacy) { + return queryBuilder.findSurround(path.value); + } else { + return queryBuilder.withSurround(path.value).findOne().then(resolveResult); + } + } + return queryBuilder.find().then(resolveResult); + } + ); + return { + isPartial, + data, + refresh + }; + }, + /** + * Content not found fallback + * @slot not-found + */ + render(ctx) { + var _a; + const slots = useSlots(); + const { + // Setup + data, + refresh, + isPartial, + // Props + path, + only, + without, + where, + sort, + limit, + skip, + locale, + find + } = ctx; + const props = { + path, + only, + without, + where, + sort, + limit, + skip, + locale, + find + }; + if (props.find === "one") { + if (!data && (slots == null ? void 0 : slots["not-found"])) { + return slots["not-found"]({ props, ...this.$attrs }); + } + if ((slots == null ? void 0 : slots.empty) && (data == null ? void 0 : data._type) === "markdown" && !((_a = data == null ? void 0 : data.body) == null ? void 0 : _a.children.length)) { + return slots.empty({ props, ...this.$attrs }); + } + } else if (!data || !data.length) { + if (slots == null ? void 0 : slots["not-found"]) { + return slots["not-found"]({ props, ...this.$attrs }); + } + } + if (slots == null ? void 0 : slots.default) { + return slots.default({ data, refresh, isPartial, props, ...this.$attrs }); + } + const emptyNode = (slot, data2) => h("pre", null, JSON.stringify({ message: "You should use slots with !", slot, data: data2 }, null, 2)); + return emptyNode("default", { data, props, isPartial }); + } +}); +const _sfc_main = ContentQuery; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentQuery-8d8f49ed.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs.map b/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs.map new file mode 100644 index 0000000000..349515022b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentQuery-8d8f49ed.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentQuery-8d8f49ed.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentQuery-8d8f49ed.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs b/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs new file mode 100644 index 0000000000..ac47434840 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs @@ -0,0 +1,129 @@ +import { defineComponent, watch, useSlots, h, useSSRContext } from 'vue'; +import _sfc_main$1 from './ContentRendererMarkdown-ebb4dffb.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'property-information'; +import '../server.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + name: "ContentRenderer", + props: { + /** + * The document to render. + */ + value: { + type: Object, + required: false, + default: () => ({}) + }, + /** + * Whether or not to render the excerpt. + * @default false + */ + excerpt: { + type: Boolean, + default: false + }, + /** + * The tag to use for the renderer element if it is used. + * @default 'div' + */ + tag: { + type: String, + default: "div" + } + }, + setup(props) { + watch( + () => props.excerpt, + (newExcerpt) => { + var _a, _b, _c; + if (newExcerpt && !((_a = props.value) == null ? void 0 : _a.excerpt)) { + console.warn(`No excerpt found for document content/${(_b = props == null ? void 0 : props.value) == null ? void 0 : _b._path}.${(_c = props == null ? void 0 : props.value) == null ? void 0 : _c._extension}!`); + console.warn("Make sure to use in your content if you want to use excerpt feature."); + } + }, + { + immediate: true + } + ); + }, + /** + * Content empty fallback + * @slot empty + */ + render(ctx) { + var _a, _b; + const slots = useSlots(); + const { value, excerpt, tag } = ctx; + const markdownAST = excerpt ? value == null ? void 0 : value.excerpt : value == null ? void 0 : value.body; + if (!((_a = markdownAST == null ? void 0 : markdownAST.children) == null ? void 0 : _a.length) && (slots == null ? void 0 : slots.empty)) { + return slots.empty({ value, excerpt, tag, ...this.$attrs }); + } + if (slots == null ? void 0 : slots.default) { + return slots.default({ value, excerpt, tag, ...this.$attrs }); + } + if ((markdownAST == null ? void 0 : markdownAST.type) === "root" && ((_b = markdownAST == null ? void 0 : markdownAST.children) == null ? void 0 : _b.length)) { + return h( + _sfc_main$1, + { + value, + excerpt, + tag, + ...this.$attrs + } + ); + } + return h( + "pre", + null, + JSON.stringify({ message: "You should use slots with ", value, excerpt, tag }, null, 2) + ); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentRenderer-fb4f700e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs.map b/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs.map new file mode 100644 index 0000000000..f9b34cc4c6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentRenderer-fb4f700e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentRenderer-fb4f700e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentRenderer-fb4f700e.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs b/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs new file mode 100644 index 0000000000..0139c6fc17 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs @@ -0,0 +1,532 @@ +import { useSSRContext, defineComponent, computed, mergeProps, unref, toRaw, h, resolveComponent, Text } from 'vue'; +import { M as pascalCase, L as kebabCase, E as destr } from '../../nitro/node-server.mjs'; +import { find, html } from 'property-information'; +import { m as useContentPreview, g as useRuntimeConfig, b as useRoute } from '../server.mjs'; +import { ssrRenderComponent } from 'vue/server-renderer'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const htmlTags = [ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "math", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rb", + "rp", + "rt", + "rtc", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "slot", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "svg", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr" +]; +const DEFAULT_SLOT = "default"; +const rxOn = /^@|^v-on:/; +const rxBind = /^:|^v-bind:/; +const rxModel = /^v-model/; +const nativeInputs = ["select", "textarea", "input"]; +const proseComponentMap = Object.fromEntries(["p", "a", "blockquote", "code", "pre", "code", "em", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "img", "ul", "ol", "li", "strong", "table", "thead", "tbody", "td", "th", "tr", "script"].map((t) => [t, `prose-${t}`])); +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + name: "MDCRenderer", + props: { + /** + * Content to render + */ + body: { + type: Object, + required: true + }, + /** + * Document meta data + */ + data: { + type: Object, + default: () => ({}) + }, + /** + * Root tag to use for rendering + */ + tag: { + type: [String, Boolean], + default: void 0 + }, + /** + * Whether or not to render Prose components instead of HTML tags + */ + prose: { + type: Boolean, + default: void 0 + }, + /** + * The map of custom components to use for rendering. + */ + components: { + type: Object, + default: () => ({}) + } + }, + async setup(props) { + var _a, _b; + const { mdc } = useRuntimeConfig().public; + const tags = { + ...mdc.components.prose && props.prose !== false ? proseComponentMap : {}, + ...mdc.components.map, + ...toRaw(((_b = (_a = props.data) == null ? void 0 : _a.mdc) == null ? void 0 : _b.components) || {}), + ...props.components + }; + const contentKey = computed(() => { + var _a2; + const components = (((_a2 = props.body) == null ? void 0 : _a2.children) || []).map((n) => n.tag || n.type).filter((t) => !htmlTags.includes(t)); + return Array.from(new Set(components)).sort().join("."); + }); + await resolveContentComponents(props.body, { tags }); + return { tags, contentKey }; + }, + render(ctx) { + var _a, _b, _c; + const { tags, tag, body, data, contentKey } = ctx; + if (!body) { + return null; + } + const meta = { ...data, tags }; + const component = tag !== false ? resolveVueComponent(tag || ((_a = meta.component) == null ? void 0 : _a.name) || meta.component || "div") : void 0; + const childrenRendrer = renderSlots(body, h, meta, meta); + return component ? h(component, { ...(_b = meta.component) == null ? void 0 : _b.props, ...this.$attrs, key: contentKey }, childrenRendrer) : (_c = childrenRendrer.default) == null ? void 0 : _c.call(childrenRendrer); + } +}); +function renderNode(node, h2, documentMeta, parentScope = {}) { + if (node.type === "text") { + return h2(Text, node.value); + } + const originalTag = node.tag; + const renderTag = findMappedTag(node, documentMeta.tags); + if (node.tag === "binding") { + return renderBinding(node, h2, documentMeta, parentScope); + } + const component = resolveVueComponent(renderTag); + if (typeof component === "object") { + component.tag = originalTag; + } + const props = propsToData(node, documentMeta); + return h2( + component, + props, + renderSlots(node, h2, documentMeta, { ...parentScope, ...props }) + ); +} +function renderBinding(node, h2, documentMeta, parentScope = {}) { + var _a2; + var _a, _b; + const data = { + ...parentScope, + $route: () => useRoute(), + $document: documentMeta, + $doc: documentMeta + }; + const splitter = /\.|\[(\d+)\]/; + const keys = (_a = node.props) == null ? void 0 : _a.value.trim().split(splitter).filter(Boolean); + const value = keys.reduce((data2, key) => { + if (key in data2) { + if (typeof data2[key] === "function") { + return data2[key](); + } else { + return data2[key]; + } + } + return {}; + }, data); + const defaultValue = (_b = node.props) == null ? void 0 : _b.defaultValue; + return h2(Text, (_a2 = value != null ? value : defaultValue) != null ? _a2 : ""); +} +function renderSlots(node, h2, documentMeta, parentProps) { + const children = node.children || []; + const slotNodes = children.reduce((data, node2) => { + if (!isTemplate(node2)) { + data[DEFAULT_SLOT].push(node2); + return data; + } + const slotName = getSlotName(node2); + data[slotName] = data[slotName] || []; + if (node2.type === "element") { + data[slotName].push(...node2.children || []); + } + return data; + }, { + [DEFAULT_SLOT]: [] + }); + const slots = Object.entries(slotNodes).reduce((slots2, [name, children2]) => { + if (!children2.length) { + return slots2; + } + slots2[name] = () => { + const vNodes = children2.map((child) => renderNode(child, h2, documentMeta, parentProps)); + return mergeTextNodes(vNodes); + }; + return slots2; + }, {}); + return slots; +} +function propsToData(node, documentMeta) { + const { tag = "", props = {} } = node; + return Object.keys(props).reduce(function(data, key) { + if (key === "__ignoreMap") { + return data; + } + const value = props[key]; + if (rxModel.test(key) && !nativeInputs.includes(tag)) { + return propsToDataRxModel(key, value, data, documentMeta); + } + if (key === "v-bind") { + return propsToDataVBind(key, value, data, documentMeta); + } + if (rxOn.test(key)) { + return propsToDataRxOn(key, value, data, documentMeta); + } + if (rxBind.test(key)) { + return propsToDataRxBind(key, value, data, documentMeta); + } + const { attribute } = find(html, key); + if (Array.isArray(value) && value.every((v) => typeof v === "string")) { + data[attribute] = value.join(" "); + return data; + } + data[attribute] = value; + return data; + }, {}); +} +function propsToDataRxModel(key, value, data, documentMeta) { + const number = (d) => +d; + const trim = (d) => d.trim(); + const noop = (d) => d; + const mods = key.replace(rxModel, "").split(".").filter((d) => d).reduce((d, k) => { + d[k] = true; + return d; + }, {}); + const field = "value"; + const event = mods.lazy ? "change" : "input"; + const processor = mods.number ? number : mods.trim ? trim : noop; + data[field] = evalInContext(value, documentMeta); + data.on = data.on || {}; + data.on[event] = (e) => documentMeta[value] = processor(e); + return data; +} +function propsToDataVBind(_key, value, data, documentMeta) { + const val = evalInContext(value, documentMeta); + data = Object.assign(data, val); + return data; +} +function propsToDataRxOn(key, value, data, documentMeta) { + key = key.replace(rxOn, ""); + data.on = data.on || {}; + data.on[key] = () => evalInContext(value, documentMeta); + return data; +} +function propsToDataRxBind(key, value, data, documentMeta) { + key = key.replace(rxBind, ""); + data[key] = evalInContext(value, documentMeta); + return data; +} +const resolveVueComponent = (component) => { + if (!htmlTags.includes(component) && !(component == null ? void 0 : component.render)) { + const componentFn = resolveComponent(pascalCase(component), false); + if (typeof componentFn === "object") { + return componentFn; + } + } + return component; +}; +function evalInContext(code, context) { + const result = code.split(".").reduce((o, k) => typeof o === "object" ? o[k] : void 0, context); + return typeof result === "undefined" ? destr(code) : result; +} +function getSlotName(node) { + let name = ""; + for (const propName of Object.keys(node.props || {})) { + if (!propName.startsWith("#") && !propName.startsWith("v-slot:")) { + continue; + } + name = propName.split(/[:#]/, 2)[1]; + break; + } + return name || DEFAULT_SLOT; +} +function isTemplate(node) { + return node.tag === "template"; +} +function mergeTextNodes(nodes) { + const mergedNodes = []; + for (const node of nodes) { + const previousNode = mergedNodes[mergedNodes.length - 1]; + if (node.type === Text && (previousNode == null ? void 0 : previousNode.type) === Text) { + previousNode.children = previousNode.children + node.children; + } else { + mergedNodes.push(node); + } + } + return mergedNodes; +} +async function resolveContentComponents(body, meta) { + if (!body) { + return; + } + const components = Array.from(new Set(loadComponents(body, meta))); + await Promise.all(components.map(async (c) => { + if ((c == null ? void 0 : c.render) || (c == null ? void 0 : c.ssrRender) || (c == null ? void 0 : c.__ssrInlineRender)) { + return; + } + const resolvedComponent = resolveVueComponent(c); + if ((resolvedComponent == null ? void 0 : resolvedComponent.__asyncLoader) && !resolvedComponent.__asyncResolved) { + await resolvedComponent.__asyncLoader(); + } + })); + function loadComponents(node, documentMeta) { + const tag = node.tag; + if (node.type === "text" || tag === "binding") { + return []; + } + const renderTag = findMappedTag(node, documentMeta.tags); + const components2 = []; + if (node.type !== "root" && !htmlTags.includes(renderTag)) { + components2.push(renderTag); + } + for (const child of node.children || []) { + components2.push(...loadComponents(child, documentMeta)); + } + return components2; + } +} +function findMappedTag(node, tags) { + var _a; + const tag = node.tag; + if (!tag || typeof ((_a = node.props) == null ? void 0 : _a.__ignoreMap) !== "undefined") { + return tag; + } + return tags[tag] || tags[pascalCase(tag)] || tags[kebabCase(node.tag)] || tag; +} +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ContentRendererMarkdown", + __ssrInlineRender: true, + props: { + /** + * Content to render + */ + value: { + type: Object, + required: true + }, + /** + * Render only the excerpt + */ + excerpt: { + type: Boolean, + default: false + }, + /** + * Root tag to use for rendering + */ + tag: { + type: String, + default: "div" + }, + /** + * The map of custom components to use for rendering. + */ + components: { + type: Object, + default: () => ({}) + }, + data: { + type: Object, + default: () => ({}) + } + }, + setup(__props) { + const props = __props; + const debug = useContentPreview().isEnabled(); + const body = computed(() => { + let body2 = props.value.body || props.value; + if (props.excerpt && props.value.excerpt) { + body2 = props.value.excerpt; + } + return body2; + }); + const data = computed(() => { + const { body: body2, excerpt, ...data2 } = props.value; + return { + ...data2, + ...props.data + }; + }); + const mdcComponents = computed(() => { + return { + ...props.components, + ...data.value._components || {} + }; + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_MDCRenderer = _sfc_main$1; + _push(ssrRenderComponent(_component_MDCRenderer, mergeProps({ + body: body.value, + data: data.value, + tag: __props.tag, + components: mdcComponents.value, + "data-content-id": unref(debug) ? __props.value._id : void 0 + }, _attrs), null, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentRendererMarkdown-ebb4dffb.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs.map b/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs.map new file mode 100644 index 0000000000..b7515f50c0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentRendererMarkdown-ebb4dffb.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentRendererMarkdown-ebb4dffb.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentRendererMarkdown-ebb4dffb.js"],"sourcesContent":null,"names":["_a"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs b/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs new file mode 100644 index 0000000000..21996da676 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs @@ -0,0 +1,34 @@ +import { _ as __nuxt_component_0 } from './MDCSlot-b6f8d3a7.mjs'; +import { defineComponent, h, useSSRContext } from 'vue'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + /** + * A slot name or function + */ + use: { + type: Function, + default: void 0 + }, + /** + * Tags to unwrap separated by spaces + * Example: 'ul li' + */ + unwrap: { + type: [Boolean, String], + default: false + } + }, + render(props) { + return h(__nuxt_component_0, props); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ContentSlot-8ddc8cc2.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs.map b/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs.map new file mode 100644 index 0000000000..9662a24635 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ContentSlot-8ddc8cc2.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ContentSlot-8ddc8cc2.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ContentSlot-8ddc8cc2.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,IAIL,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAQ,EAAA;AAAA,MACN,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,MACtB,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,OAAO,KAAO,EAAA;AACZ,IAAO,OAAA,CAAA,CAAE,oBAAoB,KAAK,CAAA,CAAA;AAAA,GACpC;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs b/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs new file mode 100644 index 0000000000..d3b068b639 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs @@ -0,0 +1,81 @@ +import { x as useClipboard, o as __nuxt_component_0$4 } from '../server.mjs'; +import { defineComponent, ref, mergeProps, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "CopyButton", + __ssrInlineRender: true, + props: { + content: { + type: String, + default: "" + } + }, + setup(__props) { + useClipboard(); + const state = ref("init"); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + _push(``); + if (unref(state) === "copied") { + _push(ssrRenderComponent(_component_Icon, { + name: "fa-check", + class: "h-4 w-4" + }, null, _parent)); + } else { + _push(ssrRenderComponent(_component_Icon, { + name: "fa-copy", + class: "h-4 w-4" + }, null, _parent)); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=CopyButton-51a18d2c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs.map b/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs.map new file mode 100644 index 0000000000..7d0b34a42c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/CopyButton-51a18d2c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"CopyButton-51a18d2c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/CopyButton-51a18d2c.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,YAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAa,YAAA,EAAA,CAAA;AACb,IAAM,MAAA,KAAA,GAAQ,IAAI,MAAM,CAAA,CAAA;AACxB,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,eAAkB,GAAAA,oBAAA,CAAA;AACxB,MAAM,KAAA,CAAA,CAAA,OAAA,EAAU,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,qIAAuI,EAAA,MAAM,CAAC,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA;AACrM,MAAI,IAAA,KAAA,CAAM,KAAK,CAAA,KAAM,QAAU,EAAA;AAC7B,QAAA,KAAA,CAAM,mBAAmB,eAAiB,EAAA;AAAA,UACxC,IAAM,EAAA,UAAA;AAAA,UACN,KAAO,EAAA,SAAA;AAAA,SACT,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OACZ,MAAA;AACL,QAAA,KAAA,CAAM,mBAAmB,eAAiB,EAAA;AAAA,UACxC,IAAM,EAAA,SAAA;AAAA,UACN,KAAO,EAAA,SAAA;AAAA,SACT,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OACnB;AACA,MAAA,KAAA,CAAM,CAAW,SAAA,CAAA,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,sEAAsE,CAAA,CAAA;AACnJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs b/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs new file mode 100644 index 0000000000..2db06838f2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs @@ -0,0 +1,94 @@ +import { _ as _export_sfc, p as useDocus, q as __nuxt_component_0$3, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, unref, withCtx, createVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsAside", + __ssrInlineRender: true, + setup(__props) { + const { tree } = useDocus(); + return (_ctx, _push, _parent, _attrs) => { + var _a; + const _component_DocsAsideTree = __nuxt_component_0$3; + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + if (((_a = unref(tree)) == null ? void 0 : _a.length) > 0) { + _push(ssrRenderComponent(_component_DocsAsideTree, { links: unref(tree) }, null, _parent)); + } else { + _push(ssrRenderComponent(_component_NuxtLink, { + to: "/", + class: "go-back-link" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_Icon, { + name: "heroicons-outline:arrow-left", + class: "icon" + }, null, _parent2, _scopeId)); + _push2(`Go back`); + } else { + return [ + createVNode(_component_Icon, { + name: "heroicons-outline:arrow-left", + class: "icon" + }), + createVNode("span", { class: "text" }, "Go back") + ]; + } + }), + _: 1 + }, _parent)); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-89fb8999"]]); + +export { __nuxt_component_1 as default }; +//# sourceMappingURL=DocsAside-fd029efe.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs.map b/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs.map new file mode 100644 index 0000000000..32080935b6 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsAside-fd029efe.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsAside-fd029efe.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsAside-fd029efe.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1","__nuxt_component_0$2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAM,MAAA,EAAE,IAAK,EAAA,GAAI,QAAS,EAAA,CAAA;AAC1B,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAI,IAAA,EAAA,CAAA;AACJ,MAAA,MAAM,wBAA2B,GAAAA,oBAAA,CAAA;AACjC,MAAA,MAAM,mBAAsB,GAAAC,oBAAA,CAAA;AAC5B,MAAA,MAAM,eAAkB,GAAAC,oBAAA,CAAA;AACxB,MAAA,KAAA,CAAM,CAAO,IAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACtD,MAAM,IAAA,CAAA,CAAA,EAAA,GAAK,MAAM,IAAI,CAAA,KAAM,OAAO,KAAS,CAAA,GAAA,EAAA,CAAG,UAAU,CAAG,EAAA;AACzD,QAAM,KAAA,CAAA,kBAAA,CAAmB,wBAA0B,EAAA,EAAE,KAAO,EAAA,KAAA,CAAM,IAAI,CAAE,EAAA,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OACpF,MAAA;AACL,QAAA,KAAA,CAAM,mBAAmB,mBAAqB,EAAA;AAAA,UAC5C,EAAI,EAAA,GAAA;AAAA,UACJ,KAAO,EAAA,cAAA;AAAA,SACN,EAAA;AAAA,UACD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,YAAA,IAAI,MAAQ,EAAA;AACV,cAAA,MAAA,CAAO,mBAAmB,eAAiB,EAAA;AAAA,gBACzC,IAAM,EAAA,8BAAA;AAAA,gBACN,KAAO,EAAA,MAAA;AAAA,eACN,EAAA,IAAA,EAAM,QAAU,EAAA,QAAQ,CAAC,CAAA,CAAA;AAC5B,cAAO,MAAA,CAAA,CAAA,kCAAA,EAAqC,QAAQ,CAAiB,eAAA,CAAA,CAAA,CAAA;AAAA,aAChE,MAAA;AACL,cAAO,OAAA;AAAA,gBACL,YAAY,eAAiB,EAAA;AAAA,kBAC3B,IAAM,EAAA,8BAAA;AAAA,kBACN,KAAO,EAAA,MAAA;AAAA,iBACR,CAAA;AAAA,gBACD,YAAY,MAAQ,EAAA,EAAE,KAAO,EAAA,MAAA,IAAU,SAAS,CAAA;AAAA,eAClD,CAAA;AAAA,aACF;AAAA,WACD,CAAA;AAAA,UACD,CAAG,EAAA,CAAA;AAAA,SACL,EAAG,OAAO,CAAC,CAAA,CAAA;AAAA,OACb;AACA,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,+DAA+D,CAAA,CAAA;AAC5I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs b/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs new file mode 100644 index 0000000000..5c8698377b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs @@ -0,0 +1,114 @@ +import { _ as _export_sfc, h as useContent, p as useDocus, o as __nuxt_component_0$4 } from '../server.mjs'; +import _sfc_main$1 from './EditOnLink-ed7c39ad.mjs'; +import __nuxt_component_2 from './ProseA-d15a6354.mjs'; +import { useSSRContext, defineComponent, unref, mergeProps, withCtx, createVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsPageBottom", + __ssrInlineRender: true, + setup(__props) { + const { page } = useContent(); + const { config } = useDocus(); + return (_ctx, _push, _parent, _attrs) => { + var _a, _b, _c; + const _component_Icon = __nuxt_component_0$4; + const _component_EditOnLink = _sfc_main$1; + const _component_ProseA = __nuxt_component_2; + if (unref(page)) { + _push(``); + if ((_b = (_a = unref(config)) == null ? void 0 : _a.github) == null ? void 0 : _b.edit) { + _push(``); + } else { + _push(``); + } + if ((_c = unref(page)) == null ? void 0 : _c.mtime) { + _push(`Updated on ${ssrInterpolate(new Intl.DateTimeFormat("en-US").format(Date.parse(unref(page).mtime)))}`); + } else { + _push(``); + } + _push(``); + } else { + _push(``); + } + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_4 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-346454d4"]]); + +export { __nuxt_component_4 as default }; +//# sourceMappingURL=DocsPageBottom-154201e5.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs.map b/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs.map new file mode 100644 index 0000000000..ebd200de99 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPageBottom-154201e5.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsPageBottom-154201e5.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsPageBottom-154201e5.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,gBAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAM,MAAA,EAAE,IAAK,EAAA,GAAI,UAAW,EAAA,CAAA;AAC5B,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,QAAS,EAAA,CAAA;AAC5B,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,IAAI,IAAI,EAAI,EAAA,EAAA,CAAA;AACZ,MAAA,MAAM,eAAkB,GAAAA,oBAAA,CAAA;AACxB,MAAA,MAAM,qBAAwB,GAAA,WAAA,CAAA;AAC9B,MAAA,MAAM,iBAAoB,GAAA,kBAAA,CAAA;AAC1B,MAAI,IAAA,KAAA,CAAM,IAAI,CAAG,EAAA;AACf,QAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,oBAAsB,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACjG,QAAA,IAAA,CAAK,EAAM,GAAA,CAAA,EAAA,GAAK,KAAM,CAAA,MAAM,CAAM,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,MAAW,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,IAAM,EAAA;AACvF,UAAA,KAAA,CAAM,CAAyC,uCAAA,CAAA,CAAA,CAAA;AAC/C,UAAM,KAAA,CAAA,kBAAA,CAAmB,iBAAiB,EAAE,IAAA,EAAM,YAAc,EAAA,IAAA,EAAM,OAAO,CAAC,CAAA,CAAA;AAC9E,UAAA,KAAA,CAAM,mBAAmB,qBAAuB,EAAA,EAAE,MAAM,KAAM,CAAA,IAAI,GAAK,EAAA;AAAA,YACrE,OAAA,EAAS,QAAQ,CAAC,EAAE,KAAO,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AACxD,cAAA,IAAI,MAAQ,EAAA;AACV,gBAAA,MAAA,CAAO,kBAAmB,CAAA,iBAAA,EAAmB,EAAE,EAAA,EAAI,KAAO,EAAA;AAAA,kBACxD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,SAAc,KAAA;AACnD,oBAAA,IAAI,MAAQ,EAAA;AACV,sBAAO,MAAA,CAAA,CAAA,qBAAA,EAAwB,SAAS,CAAoC,kCAAA,CAAA,CAAA,CAAA;AAAA,qBACvE,MAAA;AACL,sBAAO,OAAA;AAAA,wBACL,WAAA,CAAY,MAAQ,EAAA,IAAA,EAAM,4BAA4B,CAAA;AAAA,uBACxD,CAAA;AAAA,qBACF;AAAA,mBACD,CAAA;AAAA,kBACD,CAAG,EAAA,CAAA;AAAA,iBACL,EAAG,QAAU,EAAA,QAAQ,CAAC,CAAA,CAAA;AAAA,eACjB,MAAA;AACL,gBAAO,OAAA;AAAA,kBACL,WAAY,CAAA,iBAAA,EAAmB,EAAE,EAAA,EAAI,KAAO,EAAA;AAAA,oBAC1C,OAAA,EAAS,QAAQ,MAAM;AAAA,sBACrB,WAAA,CAAY,MAAQ,EAAA,IAAA,EAAM,4BAA4B,CAAA;AAAA,qBACvD,CAAA;AAAA,oBACD,CAAG,EAAA,CAAA;AAAA,mBACF,EAAA,IAAA,EAAM,CAAC,IAAI,CAAC,CAAA;AAAA,iBACjB,CAAA;AAAA,eACF;AAAA,aACD,CAAA;AAAA,YACD,CAAG,EAAA,CAAA;AAAA,WACL,EAAG,OAAO,CAAC,CAAA,CAAA;AACX,UAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,SACT,MAAA;AACL,UAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SACjB;AACA,QAAA,IAAA,CAAK,KAAK,KAAM,CAAA,IAAI,MAAM,IAAO,GAAA,KAAA,CAAA,GAAS,GAAG,KAAO,EAAA;AAClD,UAAA,KAAA,CAAM,uDAAuD,cAAe,CAAA,IAAI,IAAK,CAAA,cAAA,CAAe,OAAO,CAAE,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAE,KAAK,CAAC,CAAC,CAAC,CAAa,WAAA,CAAA,CAAA,CAAA;AAAA,SAC3J,MAAA;AACL,UAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SACjB;AACA,QAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,OACT,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs b/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs new file mode 100644 index 0000000000..1404576495 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs @@ -0,0 +1,251 @@ +import { _ as _export_sfc, h as useContent, p as useDocus, b as useRoute, s as useState, t as __nuxt_component_0$5, o as __nuxt_component_0$4 } from '../server.mjs'; +import __nuxt_component_1 from './DocsAside-fd029efe.mjs'; +import __nuxt_component_2 from './Alert-e89bb36c.mjs'; +import __nuxt_component_1$1 from './ProseCodeInline-3a7a9d5f.mjs'; +import __nuxt_component_4 from './DocsPageBottom-154201e5.mjs'; +import __nuxt_component_5 from './DocsPrevNext-f4da19df.mjs'; +import __nuxt_component_7 from './DocsToc-132da242.mjs'; +import { useSSRContext, defineComponent, computed, ref, mergeProps, unref, withCtx, createTextVNode, toDisplayString, createVNode, openBlock, createBlock, createCommentVNode, renderSlot, Fragment } from 'vue'; +import { ssrRenderComponent, ssrRenderSlot, ssrInterpolate, ssrRenderClass } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './ssrSlot-5d5c6395.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './EditOnLink-ed7c39ad.mjs'; +import './ProseA-d15a6354.mjs'; +import './DocsTocLinks-9dbdb54e.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsPageLayout", + __ssrInlineRender: true, + setup(__props) { + const { page } = useContent(); + const { config, tree } = useDocus(); + const route = useRoute(); + const fallbackValue = (value, fallback = true) => { + var _a; + if (typeof ((_a = page.value) == null ? void 0 : _a[value]) !== "undefined") { + return page.value[value]; + } + return fallback; + }; + const hasBody = computed(() => { + var _a, _b, _c; + return !page.value || ((_c = (_b = (_a = page.value) == null ? void 0 : _a.body) == null ? void 0 : _b.children) == null ? void 0 : _c.length) > 0; + }); + const hasToc = computed(() => { + var _a, _b, _c, _d, _e; + return ((_a = page.value) == null ? void 0 : _a.toc) !== false && ((_e = (_d = (_c = (_b = page.value) == null ? void 0 : _b.body) == null ? void 0 : _c.toc) == null ? void 0 : _d.links) == null ? void 0 : _e.length) >= 2; + }); + const hasAside = computed(() => { + var _a, _b, _c, _d, _e; + return ((_a = page.value) == null ? void 0 : _a.aside) !== false && (((_b = tree.value) == null ? void 0 : _b.length) > 1 || ((_e = (_d = (_c = tree.value) == null ? void 0 : _c[0]) == null ? void 0 : _d.children) == null ? void 0 : _e.length)); + }); + const bottom = computed(() => fallbackValue("bottom", true)); + const isOpen = ref(false); + const asideNav = ref(null); + const getParentPath = () => route.path.split("/").slice(0, 2).join("/"); + useState("asideScroll", () => { + var _a; + return { + parentPath: getParentPath(), + scrollTop: ((_a = asideNav.value) == null ? void 0 : _a.scrollTop) || 0 + }; + }); + return (_ctx, _push, _parent, _attrs) => { + var _a, _b, _c, _d, _e, _f; + const _component_Container = __nuxt_component_0$5; + const _component_DocsAside = __nuxt_component_1; + const _component_Alert = __nuxt_component_2; + const _component_ProseCodeInline = __nuxt_component_1$1; + const _component_DocsPageBottom = __nuxt_component_4; + const _component_DocsPrevNext = __nuxt_component_5; + const _component_Icon = __nuxt_component_0$4; + const _component_DocsToc = __nuxt_component_7; + _push(ssrRenderComponent(_component_Container, mergeProps({ + fluid: (_b = (_a = unref(config)) == null ? void 0 : _a.main) == null ? void 0 : _b.fluid, + padded: (_d = (_c = unref(config)) == null ? void 0 : _c.main) == null ? void 0 : _d.padded, + class: ["docs-page-content", { + fluid: (_f = (_e = unref(config)) == null ? void 0 : _e.main) == null ? void 0 : _f.fluid, + "has-toc": unref(hasToc), + "has-aside": unref(hasAside) + }] + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (unref(hasAside)) { + _push2(``); + } else { + _push2(``); + } + _push2(`
`); + if (unref(hasBody)) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + } else { + _push2(ssrRenderComponent(_component_Alert, { type: "info" }, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(` Start writing in `); + _push3(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_3, _push4, _parent4, _scopeId3) => { + if (_push4) { + _push4(`content/${ssrInterpolate(unref(page)._file)}`); + } else { + return [ + createTextVNode("content/" + toDisplayString(unref(page)._file), 1) + ]; + } + }), + _: 1 + }, _parent3, _scopeId2)); + _push3(` to see this page taking shape. `); + } else { + return [ + createTextVNode(" Start writing in "), + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode("content/" + toDisplayString(unref(page)._file), 1) + ]), + _: 1 + }), + createTextVNode(" to see this page taking shape. ") + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + } + if (unref(hasBody) && unref(page) && unref(bottom)) { + _push2(``); + _push2(ssrRenderComponent(_component_DocsPageBottom, null, null, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_DocsPrevNext, null, null, _parent2, _scopeId)); + _push2(``); + } else { + _push2(``); + } + _push2(`
`); + if (unref(hasToc)) { + _push2(`
`); + _push2(ssrRenderComponent(_component_DocsToc, { + onMove: ($event) => isOpen.value = false + }, null, _parent2, _scopeId)); + _push2(`
`); + } else { + _push2(``); + } + } else { + return [ + unref(hasAside) ? (openBlock(), createBlock("aside", { + key: 0, + ref_key: "asideNav", + ref: asideNav, + class: "aside-nav" + }, [ + createVNode(_component_DocsAside, { class: "app-aside" }) + ], 512)) : createCommentVNode("", true), + createVNode("article", { class: "page-body" }, [ + unref(hasBody) ? renderSlot(_ctx.$slots, "default", { key: 0 }, void 0, true) : (openBlock(), createBlock(_component_Alert, { + key: 1, + type: "info" + }, { + default: withCtx(() => [ + createTextVNode(" Start writing in "), + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode("content/" + toDisplayString(unref(page)._file), 1) + ]), + _: 1 + }), + createTextVNode(" to see this page taking shape. ") + ]), + _: 1 + })), + unref(hasBody) && unref(page) && unref(bottom) ? (openBlock(), createBlock(Fragment, { key: 2 }, [ + createVNode(_component_DocsPageBottom), + createVNode(_component_DocsPrevNext) + ], 64)) : createCommentVNode("", true) + ]), + unref(hasToc) ? (openBlock(), createBlock("div", { + key: 1, + class: "toc" + }, [ + createVNode("div", { class: "toc-wrapper" }, [ + createVNode("button", { + onClick: ($event) => isOpen.value = !unref(isOpen) + }, [ + createVNode("span", { class: "title" }, "Table of Contents"), + createVNode(_component_Icon, { + name: "heroicons-outline:chevron-right", + class: ["icon", [unref(isOpen) && "rotate"]] + }, null, 8, ["class"]) + ], 8, ["onClick"]), + createVNode("div", { + class: ["docs-toc-wrapper", [unref(isOpen) && "opened"]] + }, [ + createVNode(_component_DocsToc, { + onMove: ($event) => isOpen.value = false + }, null, 8, ["onMove"]) + ], 2) + ]) + ])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-73d798d2"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=DocsPageLayout-f4e17515.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs.map b/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs.map new file mode 100644 index 0000000000..e2cbc58848 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPageLayout-f4e17515.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsPageLayout-f4e17515.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsPageLayout-f4e17515.js"],"sourcesContent":null,"names":["__nuxt_component_0$1","__nuxt_component_0$2"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs b/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs new file mode 100644 index 0000000000..7edb23e7f7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs @@ -0,0 +1,160 @@ +import { _ as _export_sfc, h as useContent, a as __nuxt_component_0$6, o as __nuxt_component_0$4, v as useContentHelpers } from '../server.mjs'; +import { useSSRContext, defineComponent, unref, mergeProps, withCtx, createVNode, openBlock, createBlock, toDisplayString, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer'; +import { N as upperFirst } from '../../nitro/node-server.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsPrevNext", + __ssrInlineRender: true, + setup(__props) { + const { prev, next, navigation } = useContent(); + const { navDirFromPath } = useContentHelpers(); + const directory = (link) => { + var _a2; + var _a; + const nav = navDirFromPath(link._path, navigation.value || []); + if (nav && nav[0]) { + return (_a2 = (_a = nav[0]) == null ? void 0 : _a._path) != null ? _a2 : ""; + } else { + const dirs = link.split("/"); + const directory2 = dirs.length > 1 ? dirs[dirs.length - 2] : ""; + return directory2.split("-").map(upperFirst).join(" "); + } + }; + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + if (unref(prev) || unref(next)) { + _push(``); + if (unref(prev) && unref(prev)._path) { + _push(ssrRenderComponent(_component_NuxtLink, { + to: unref(prev)._path, + class: "prev" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_Icon, { + name: "heroicons-outline:arrow-sm-left", + class: "icon" + }, null, _parent2, _scopeId)); + _push2(`
`); + if (directory(unref(prev)._path)) { + _push2(`${ssrInterpolate(directory(unref(prev)._path))}`); + } else { + _push2(``); + } + _push2(`${ssrInterpolate(unref(prev).title)}
`); + } else { + return [ + createVNode(_component_Icon, { + name: "heroicons-outline:arrow-sm-left", + class: "icon" + }), + createVNode("div", { class: "wrapper" }, [ + directory(unref(prev)._path) ? (openBlock(), createBlock("span", { + key: 0, + class: "directory" + }, toDisplayString(directory(unref(prev)._path)), 1)) : createCommentVNode("", true), + createVNode("span", { class: "title" }, toDisplayString(unref(prev).title), 1) + ]) + ]; + } + }), + _: 1 + }, _parent)); + } else { + _push(``); + } + if (unref(next) && unref(next)._path) { + _push(ssrRenderComponent(_component_NuxtLink, { + to: unref(next)._path, + class: "next" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
`); + if (directory(unref(next)._path)) { + _push2(`${ssrInterpolate(directory(unref(next)._path))}`); + } else { + _push2(``); + } + _push2(`${ssrInterpolate(unref(next).title)}
`); + _push2(ssrRenderComponent(_component_Icon, { + name: "heroicons-outline:arrow-sm-right", + class: "icon" + }, null, _parent2, _scopeId)); + } else { + return [ + createVNode("div", { class: "wrapper" }, [ + directory(unref(next)._path) ? (openBlock(), createBlock("span", { + key: 0, + class: "directory" + }, toDisplayString(directory(unref(next)._path)), 1)) : createCommentVNode("", true), + createVNode("span", { class: "title" }, toDisplayString(unref(next).title), 1) + ]), + createVNode(_component_Icon, { + name: "heroicons-outline:arrow-sm-right", + class: "icon" + }) + ]; + } + }), + _: 1 + }, _parent)); + } else { + _push(``); + } + _push(``); + } else { + _push(``); + } + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-30e1aea1"]]); + +export { __nuxt_component_5 as default }; +//# sourceMappingURL=DocsPrevNext-f4da19df.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs.map b/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs.map new file mode 100644 index 0000000000..2c457c9c55 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsPrevNext-f4da19df.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsPrevNext-f4da19df.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsPrevNext-f4da19df.js"],"sourcesContent":null,"names":["_a","__nuxt_component_0","__nuxt_component_0$1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,cAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,EAAE,IAAA,EAAM,IAAM,EAAA,UAAA,KAAe,UAAW,EAAA,CAAA;AAC9C,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,iBAAkB,EAAA,CAAA;AAC7C,IAAM,MAAA,SAAA,GAAY,CAAC,IAAS,KAAA;AA9BhC,MAAAA,IAAAA,GAAAA,CAAAA;AA+BM,MAAI,IAAA,EAAA,CAAA;AACJ,MAAA,MAAM,MAAM,cAAe,CAAA,IAAA,CAAK,OAAO,UAAW,CAAA,KAAA,IAAS,EAAE,CAAA,CAAA;AAC7D,MAAI,IAAA,GAAA,IAAO,GAAI,CAAA,CAAC,CAAG,EAAA;AACjB,QAASA,OAAAA,CAAAA,GAAAA,GAAAA,CAAA,EAAK,GAAA,GAAA,CAAI,CAAC,CAAA,KAAM,OAAO,KAAS,CAAA,GAAA,EAAA,CAAG,KAAnC,KAAA,IAAA,GAAAA,GAA6C,GAAA,EAAA,CAAA;AAAA,OACjD,MAAA;AACL,QAAM,MAAA,IAAA,GAAO,IAAK,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC3B,QAAM,MAAA,UAAA,GAAa,KAAK,MAAS,GAAA,CAAA,GAAI,KAAK,IAAK,CAAA,MAAA,GAAS,CAAC,CAAI,GAAA,EAAA,CAAA;AAC7D,QAAO,OAAA,UAAA,CAAW,MAAM,GAAG,CAAA,CAAE,IAAI,UAAU,CAAA,CAAE,KAAK,GAAG,CAAA,CAAA;AAAA,OACvD;AAAA,KACF,CAAA;AACA,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,mBAAsB,GAAAC,oBAAA,CAAA;AAC5B,MAAA,MAAM,eAAkB,GAAAC,oBAAA,CAAA;AACxB,MAAA,IAAI,KAAM,CAAA,IAAI,CAAK,IAAA,KAAA,CAAM,IAAI,CAAG,EAAA;AAC9B,QAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,kBAAoB,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC/F,QAAA,IAAI,MAAM,IAAI,CAAA,IAAK,KAAM,CAAA,IAAI,EAAE,KAAO,EAAA;AACpC,UAAA,KAAA,CAAM,mBAAmB,mBAAqB,EAAA;AAAA,YAC5C,EAAA,EAAI,KAAM,CAAA,IAAI,CAAE,CAAA,KAAA;AAAA,YAChB,KAAO,EAAA,MAAA;AAAA,WACN,EAAA;AAAA,YACD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,cAAA,IAAI,MAAQ,EAAA;AACV,gBAAA,MAAA,CAAO,mBAAmB,eAAiB,EAAA;AAAA,kBACzC,IAAM,EAAA,iCAAA;AAAA,kBACN,KAAO,EAAA,MAAA;AAAA,iBACN,EAAA,IAAA,EAAM,QAAU,EAAA,QAAQ,CAAC,CAAA,CAAA;AAC5B,gBAAO,MAAA,CAAA,CAAA,oCAAA,EAAuC,QAAQ,CAAG,CAAA,CAAA,CAAA,CAAA;AACzD,gBAAA,IAAI,SAAU,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAG,EAAA;AAChC,kBAAO,MAAA,CAAA,CAAA,uCAAA,EAA0C,QAAQ,CAAA,CAAA,EAAI,cAAe,CAAA,SAAA,CAAU,KAAM,CAAA,IAAI,CAAE,CAAA,KAAK,CAAC,CAAC,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,iBAC7G,MAAA;AACL,kBAAA,MAAA,CAAO,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,iBAClB;AACA,gBAAO,MAAA,CAAA,CAAA,mCAAA,EAAsC,QAAQ,CAAI,CAAA,EAAA,cAAA,CAAe,MAAM,IAAI,CAAA,CAAE,KAAK,CAAC,CAAe,aAAA,CAAA,CAAA,CAAA;AAAA,eACpG,MAAA;AACL,gBAAO,OAAA;AAAA,kBACL,YAAY,eAAiB,EAAA;AAAA,oBAC3B,IAAM,EAAA,iCAAA;AAAA,oBACN,KAAO,EAAA,MAAA;AAAA,mBACR,CAAA;AAAA,kBACD,WAAY,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,WAAa,EAAA;AAAA,oBACvC,SAAA,CAAU,MAAM,IAAI,CAAA,CAAE,KAAK,CAAK,IAAA,SAAA,EAAa,EAAA,WAAA,CAAY,MAAQ,EAAA;AAAA,sBAC/D,GAAK,EAAA,CAAA;AAAA,sBACL,KAAO,EAAA,WAAA;AAAA,qBACN,EAAA,eAAA,CAAgB,SAAU,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAC,CAAG,EAAA,CAAC,CAAK,IAAA,kBAAA,CAAmB,IAAI,IAAI,CAAA;AAAA,oBACnF,WAAY,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAO,OAAQ,EAAA,EAAG,eAAgB,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAA,EAAG,CAAC,CAAA;AAAA,mBAC9E,CAAA;AAAA,iBACH,CAAA;AAAA,eACF;AAAA,aACD,CAAA;AAAA,YACD,CAAG,EAAA,CAAA;AAAA,WACL,EAAG,OAAO,CAAC,CAAA,CAAA;AAAA,SACN,MAAA;AACL,UAAA,KAAA,CAAM,CAA+B,6BAAA,CAAA,CAAA,CAAA;AAAA,SACvC;AACA,QAAA,IAAI,MAAM,IAAI,CAAA,IAAK,KAAM,CAAA,IAAI,EAAE,KAAO,EAAA;AACpC,UAAA,KAAA,CAAM,mBAAmB,mBAAqB,EAAA;AAAA,YAC5C,EAAA,EAAI,KAAM,CAAA,IAAI,CAAE,CAAA,KAAA;AAAA,YAChB,KAAO,EAAA,MAAA;AAAA,WACN,EAAA;AAAA,YACD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,cAAA,IAAI,MAAQ,EAAA;AACV,gBAAO,MAAA,CAAA,CAAA,oCAAA,EAAuC,QAAQ,CAAG,CAAA,CAAA,CAAA,CAAA;AACzD,gBAAA,IAAI,SAAU,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAG,EAAA;AAChC,kBAAO,MAAA,CAAA,CAAA,uCAAA,EAA0C,QAAQ,CAAA,CAAA,EAAI,cAAe,CAAA,SAAA,CAAU,KAAM,CAAA,IAAI,CAAE,CAAA,KAAK,CAAC,CAAC,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,iBAC7G,MAAA;AACL,kBAAA,MAAA,CAAO,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,iBAClB;AACA,gBAAO,MAAA,CAAA,CAAA,mCAAA,EAAsC,QAAQ,CAAI,CAAA,EAAA,cAAA,CAAe,MAAM,IAAI,CAAA,CAAE,KAAK,CAAC,CAAe,aAAA,CAAA,CAAA,CAAA;AACzG,gBAAA,MAAA,CAAO,mBAAmB,eAAiB,EAAA;AAAA,kBACzC,IAAM,EAAA,kCAAA;AAAA,kBACN,KAAO,EAAA,MAAA;AAAA,iBACN,EAAA,IAAA,EAAM,QAAU,EAAA,QAAQ,CAAC,CAAA,CAAA;AAAA,eACvB,MAAA;AACL,gBAAO,OAAA;AAAA,kBACL,WAAY,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,WAAa,EAAA;AAAA,oBACvC,SAAA,CAAU,MAAM,IAAI,CAAA,CAAE,KAAK,CAAK,IAAA,SAAA,EAAa,EAAA,WAAA,CAAY,MAAQ,EAAA;AAAA,sBAC/D,GAAK,EAAA,CAAA;AAAA,sBACL,KAAO,EAAA,WAAA;AAAA,qBACN,EAAA,eAAA,CAAgB,SAAU,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAC,CAAG,EAAA,CAAC,CAAK,IAAA,kBAAA,CAAmB,IAAI,IAAI,CAAA;AAAA,oBACnF,WAAY,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAO,OAAQ,EAAA,EAAG,eAAgB,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,CAAA,EAAG,CAAC,CAAA;AAAA,mBAC9E,CAAA;AAAA,kBACD,YAAY,eAAiB,EAAA;AAAA,oBAC3B,IAAM,EAAA,kCAAA;AAAA,oBACN,KAAO,EAAA,MAAA;AAAA,mBACR,CAAA;AAAA,iBACH,CAAA;AAAA,eACF;AAAA,aACD,CAAA;AAAA,YACD,CAAG,EAAA,CAAA;AAAA,WACL,EAAG,OAAO,CAAC,CAAA,CAAA;AAAA,SACN,MAAA;AACL,UAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SACjB;AACA,QAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,OACT,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,kEAAkE,CAAA,CAAA;AAC/I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs b/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs new file mode 100644 index 0000000000..ee9156784e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs @@ -0,0 +1,78 @@ +import __nuxt_component_0 from './DocsTocLinks-9dbdb54e.mjs'; +import { _ as _export_sfc, h as useContent } from '../server.mjs'; +import { useSSRContext, defineComponent, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsToc", + __ssrInlineRender: true, + emits: ["move"], + setup(__props, { emit: __emit }) { + const { toc } = useContent(); + const emit = __emit; + return (_ctx, _push, _parent, _attrs) => { + var _a, _b; + const _component_DocsTocLinks = __nuxt_component_0; + _push(``); + if ((_b = (_a = unref(toc)) == null ? void 0 : _a.links) == null ? void 0 : _b.length) { + _push(`
Table of Contents
`); + _push(ssrRenderComponent(_component_DocsTocLinks, { + links: unref(toc).links, + onMove: ($event) => emit("move") + }, null, _parent)); + _push(``); + } else { + _push(``); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_7 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ebd2b6b2"]]); + +export { __nuxt_component_7 as default }; +//# sourceMappingURL=DocsToc-132da242.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs.map b/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs.map new file mode 100644 index 0000000000..1585d976e0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsToc-132da242.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsToc-132da242.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsToc-132da242.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,SAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAA,EAAO,CAAC,MAAM,CAAA;AAAA,EACd,KAAM,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAU,EAAA;AAC/B,IAAM,MAAA,EAAE,GAAI,EAAA,GAAI,UAAW,EAAA,CAAA;AAC3B,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,IAAI,EAAI,EAAA,EAAA,CAAA;AACR,MAAA,MAAM,uBAA0B,GAAA,kBAAA,CAAA;AAChC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,YAAc,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACzF,MAAA,IAAA,CAAK,EAAM,GAAA,CAAA,EAAA,GAAK,KAAM,CAAA,GAAG,CAAM,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,KAAU,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,MAAQ,EAAA;AACrF,QAAA,KAAA,CAAM,CAA0G,wGAAA,CAAA,CAAA,CAAA;AAChH,QAAA,KAAA,CAAM,mBAAmB,uBAAyB,EAAA;AAAA,UAChD,KAAA,EAAO,KAAM,CAAA,GAAG,CAAE,CAAA,KAAA;AAAA,UAClB,MAAQ,EAAA,CAAC,MAAW,KAAA,IAAA,CAAK,MAAM,CAAA;AAAA,SACjC,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AACjB,QAAA,KAAA,CAAM,CAAU,QAAA,CAAA,CAAA,CAAA;AAAA,OACX,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,6DAA6D,CAAA,CAAA;AAC1I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs b/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs new file mode 100644 index 0000000000..6392ac62a2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs @@ -0,0 +1,108 @@ +import { useSSRContext, defineComponent, mergeProps, unref, ref, watch } from 'vue'; +import { _ as _export_sfc, w as useRouter } from '../server.mjs'; +import { ssrRenderAttrs, ssrRenderList, ssrRenderClass, ssrRenderAttr, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const useScrollspy = () => { + const observer = ref(); + const visibleHeadings = ref([]); + const activeHeadings = ref([]); + const updateHeadings = (headings) => headings.forEach((heading) => { + observer.value.observe(heading); + }); + watch(visibleHeadings, (val, oldVal) => { + if (val.length === 0) { + activeHeadings.value = oldVal; + } else { + activeHeadings.value = val; + } + }, { deep: true }); + return { + visibleHeadings, + activeHeadings, + updateHeadings + }; +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DocsTocLinks", + __ssrInlineRender: true, + props: { + links: { + type: Array, + default: () => [] + } + }, + emits: ["move"], + setup(__props, { emit: __emit }) { + const emit = __emit; + useRouter(); + const { activeHeadings, updateHeadings } = useScrollspy(); + function childMove(id) { + emit("move", id); + } + return (_ctx, _push, _parent, _attrs) => { + const _component_DocsTocLinks = __nuxt_component_0; + _push(``); + ssrRenderList(__props.links, (link) => { + _push(`
  • ${ssrInterpolate(link.text)}`); + if (link.children) { + _push(ssrRenderComponent(_component_DocsTocLinks, { + links: link.children, + onMove: ($event) => childMove($event) + }, null, _parent)); + } else { + _push(``); + } + _push(`
  • `); + }); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a97df893"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=DocsTocLinks-9dbdb54e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs.map b/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs.map new file mode 100644 index 0000000000..a4b2a94d7b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocsTocLinks-9dbdb54e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocsTocLinks-9dbdb54e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocsTocLinks-9dbdb54e.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,eAAe,MAAM;AACzB,EAAA,MAAM,WAAW,GAAI,EAAA,CAAA;AACrB,EAAM,MAAA,eAAA,GAAkB,GAAI,CAAA,EAAE,CAAA,CAAA;AAC9B,EAAM,MAAA,cAAA,GAAiB,GAAI,CAAA,EAAE,CAAA,CAAA;AAC7B,EAAA,MAAM,iBAAiB,CAAC,QAAA,KAAa,QAAS,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AACjE,IAAS,QAAA,CAAA,KAAA,CAAM,QAAQ,OAAO,CAAA,CAAA;AAAA,GAC/B,CAAA,CAAA;AACD,EAAM,KAAA,CAAA,eAAA,EAAiB,CAAC,GAAA,EAAK,MAAW,KAAA;AACtC,IAAI,IAAA,GAAA,CAAI,WAAW,CAAG,EAAA;AACpB,MAAA,cAAA,CAAe,KAAQ,GAAA,MAAA,CAAA;AAAA,KAClB,MAAA;AACL,MAAA,cAAA,CAAe,KAAQ,GAAA,GAAA,CAAA;AAAA,KACzB;AAAA,GACC,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,CAAA,CAAA;AACjB,EAAO,OAAA;AAAA,IACL,eAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA;AACF,CAAA,CAAA;AACA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,cAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,GACF;AAAA,EACA,KAAA,EAAO,CAAC,MAAM,CAAA;AAAA,EACd,KAAM,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAU,EAAA;AAC/B,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAU,SAAA,EAAA,CAAA;AACV,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAe,EAAA,GAAI,YAAa,EAAA,CAAA;AACxD,IAAA,SAAS,UAAU,EAAI,EAAA;AACrB,MAAA,IAAA,CAAK,QAAQ,EAAE,CAAA,CAAA;AAAA,KACjB;AACA,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,uBAA0B,GAAA,kBAAA,CAAA;AAChC,MAAM,KAAA,CAAA,CAAA,GAAA,EAAM,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,kBAAoB,EAAA,MAAM,CAAC,CAAC,CAA2B,yBAAA,CAAA,CAAA,CAAA;AACtG,MAAc,aAAA,CAAA,OAAA,CAAQ,KAAO,EAAA,CAAC,IAAS,KAAA;AACrC,QAAA,KAAA,CAAM,CAAc,WAAA,EAAA,cAAA,CAAe,CAAC,CAAA,MAAA,EAAS,KAAK,KAAK,CAAA,CAAE,CAAC,CAAC,uBAAuB,aAAc,CAAA,MAAA,EAAQ,CAAI,CAAA,EAAA,IAAA,CAAK,EAAE,CAAE,CAAA,CAAC,CAAW,QAAA,EAAA,cAAA,CAAe,CAAC,KAAM,CAAA,cAAc,CAAE,CAAA,QAAA,CAAS,KAAK,EAAE,CAAA,IAAK,QAAQ,CAAC,CAAC,CAAqB,kBAAA,EAAA,cAAA,CAAe,IAAK,CAAA,IAAI,CAAC,CAAM,IAAA,CAAA,CAAA,CAAA;AAC1P,QAAA,IAAI,KAAK,QAAU,EAAA;AACjB,UAAA,KAAA,CAAM,mBAAmB,uBAAyB,EAAA;AAAA,YAChD,OAAO,IAAK,CAAA,QAAA;AAAA,YACZ,MAAQ,EAAA,CAAC,MAAW,KAAA,SAAA,CAAU,MAAM,CAAA;AAAA,WACtC,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,SACZ,MAAA;AACL,UAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SACjB;AACA,QAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AAAA,OACd,CAAA,CAAA;AACD,MAAA,KAAA,CAAM,CAAe,aAAA,CAAA,CAAA,CAAA;AAAA,KACvB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,kEAAkE,CAAA,CAAA;AAC/I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs b/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs new file mode 100644 index 0000000000..0a4d4edc43 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs @@ -0,0 +1,26 @@ +import { defineComponent, h, useSSRContext } from 'vue'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + name: "DocumentDrivenEmpty", + props: { + value: { + type: Object, + required: true + } + }, + render({ value }) { + return h("div", void 0, [ + h("p", "Document is empty"), + h("p", `Add content to it by opening ${value._source}/${value._file} file.`) + ]); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=DocumentDrivenEmpty-e7fcdb87.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs.map b/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs.map new file mode 100644 index 0000000000..39323237f2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocumentDrivenEmpty-e7fcdb87.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocumentDrivenEmpty-e7fcdb87.js"],"sourcesContent":null,"names":[],"mappings":";;AACA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,IAAM,EAAA,qBAAA;AAAA,EACN,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAA,CAAO,EAAE,KAAA,EAAS,EAAA;AAChB,IAAO,OAAA,CAAA,CAAE,OAAO,KAAQ,CAAA,EAAA;AAAA,MACtB,CAAA,CAAE,KAAK,mBAAmB,CAAA;AAAA,MAC1B,CAAA,CAAE,KAAK,CAAgC,6BAAA,EAAA,KAAA,CAAM,OAAO,CAAI,CAAA,EAAA,KAAA,CAAM,KAAK,CAAQ,MAAA,CAAA,CAAA;AAAA,KAC5E,CAAA,CAAA;AAAA,GACH;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,4EAA4E,CAAA,CAAA;AACzJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs b/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs new file mode 100644 index 0000000000..6fb179a08e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs @@ -0,0 +1,77 @@ +import __nuxt_component_1 from './ButtonLink-8e56d417.mjs'; +import { mergeProps, withCtx, createTextVNode, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './ssrSlot-5d5c6395.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + const _component_ButtonLink = __nuxt_component_1; + _push(`

    404

    Not Found

    This is not the page you're looking for.

    `); + _push(ssrRenderComponent(_component_ButtonLink, { + href: "/", + size: "large", + variant: "primary" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(` Go back home `); + } else { + return [ + createTextVNode(" Go back home ") + ]; + } + }), + _: 1 + }, _parent)); + _push(`
    `); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-b556344b"]]); + +export { __nuxt_component_3 as default }; +//# sourceMappingURL=DocumentDrivenNotFound-341dd3ee.mjs.map diff --git a/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs.map b/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs.map new file mode 100644 index 0000000000..b95aee8e01 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/DocumentDrivenNotFound-341dd3ee.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"DocumentDrivenNotFound-341dd3ee.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/DocumentDrivenNotFound-341dd3ee.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,MAAM,qBAAwB,GAAA,kBAAA,CAAA;AAC9B,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,uCAAyC,EAAA,MAAM,CAAC,CAAC,CAA+S,6SAAA,CAAA,CAAA,CAAA;AAChZ,EAAA,KAAA,CAAM,mBAAmB,qBAAuB,EAAA;AAAA,IAC9C,IAAM,EAAA,GAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACR,EAAA;AAAA,IACD,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,MAAA,CAAO,CAAgB,cAAA,CAAA,CAAA,CAAA;AAAA,OAClB,MAAA;AACL,QAAO,OAAA;AAAA,UACL,gBAAgB,gBAAgB,CAAA;AAAA,SAClC,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAAA,IACD,CAAG,EAAA,CAAA;AAAA,GACL,EAAG,OAAO,CAAC,CAAA,CAAA;AACX,EAAA,KAAA,CAAM,CAA2B,yBAAA,CAAA,CAAA,CAAA;AACnC,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,2EAA2E,CAAA,CAAA;AACxJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs b/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs new file mode 100644 index 0000000000..2a38348dde --- /dev/null +++ b/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs @@ -0,0 +1,219 @@ +import { defineComponent, computed, useSlots, useSSRContext } from 'vue'; +import { j as joinURL } from '../../nitro/node-server.mjs'; +import { r as useAppConfig } from '../server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + /** + * GitHub base URL. + */ + baseUrl: { + type: String, + default: () => { + var _a, _b, _c; + return ((_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.baseUrl) || "https://github.com"; + }, + required: false + }, + /** + * Repository owner. + */ + owner: { + type: String, + default: () => { + var _a, _b, _c; + return (_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.owner; + }, + required: false + }, + /** + * Repository name. + */ + repo: { + type: String, + default: () => { + var _a, _b, _c; + return (_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.repo; + }, + required: false + }, + /** + * The branch to use for the edit link. + */ + branch: { + type: String, + default: () => { + var _a, _b, _c; + return (_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.branch; + }, + required: false + }, + /** + * A base directory to append to the source path. + * + * Won't be used if `page` is set. + */ + dir: { + type: String, + default: () => { + var _a, _b, _c; + return (_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.dir; + }, + required: false + }, + /** + * Source file path. + * + * Won't be used if `page` is set. + */ + source: { + type: String, + required: false, + default: void 0 + }, + /** + * Use page from @nuxt/content. + */ + page: { + type: Object, + required: false, + default: void 0 + }, + /** + * Content directory (to be used with `page`) + */ + contentDir: { + type: String, + required: false, + default: () => { + var _a, _b, _c; + return ((_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.dir) || "content"; + } + }, + /** + * Send to an edit page or not. + */ + edit: { + type: Boolean, + required: false, + default: () => { + var _a, _b, _c; + return (_c = (_b = (_a = useAppConfig()) == null ? void 0 : _a.docus) == null ? void 0 : _b.github) == null ? void 0 : _c.edit; + } + } + }, + setup(props) { + if (!props.owner || !props.repo || !props.branch) { + throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`."); + } + const source = computed(() => { + var _a, _b; + let { baseUrl, repo, owner, branch, contentDir } = props; + let prefix = ""; + if ((_b = (_a = useAppConfig()) == null ? void 0 : _a.public) == null ? void 0 : _b.content) { + let source2; + const { sources } = useAppConfig().public.content; + for (const key in sources || []) { + if (props.page._id.startsWith(key)) { + source2 = sources[key]; + break; + } + } + if ((source2 == null ? void 0 : source2.driver) === "github") { + repo = source2.repo || props.repo || ""; + owner = source2.owner || props.owner || ""; + branch = source2.branch || props.branch || "main"; + contentDir = source2.dir || props.contentDir || ""; + prefix = source2.prefix || ""; + } + } + return { baseUrl, repo, owner, branch, contentDir, prefix }; + }); + const base = computed(() => joinURL(`${source.value.baseUrl}/${source.value.owner}/${source.value.repo}`)); + const path = computed(() => { + var _a; + const dirParts = []; + if ((_a = props == null ? void 0 : props.page) == null ? void 0 : _a._path) { + if (source.value.contentDir) { + dirParts.push(source.value.contentDir); + } + dirParts.push(props.page._file.substring(source.value.prefix.length)); + return dirParts; + } + if (props.dir) { + dirParts.push(props.dir); + } + if (props.source) { + dirParts.push(props.source); + } + return dirParts; + }); + const url = computed(() => { + var _a; + const parts = [base.value]; + if (props.edit) { + parts.push("edit"); + } else { + parts.push("tree"); + } + parts.push(((_a = source == null ? void 0 : source.value) == null ? void 0 : _a.branch) || "", ...path.value); + return parts.filter(Boolean).join("/"); + }); + return { + url + }; + }, + render(ctx) { + var _a; + const { url } = ctx; + const slots = useSlots(); + return (_a = slots == null ? void 0 : slots.default) == null ? void 0 : _a.call(slots, { url }); + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=EditOnLink-ed7c39ad.mjs.map diff --git a/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs.map b/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs.map new file mode 100644 index 0000000000..ee6d78c1d1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/EditOnLink-ed7c39ad.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"EditOnLink-ed7c39ad.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/EditOnLink-ed7c39ad.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs b/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs new file mode 100644 index 0000000000..0f2825880a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs @@ -0,0 +1,110 @@ +import { useSSRContext, defineComponent, computed, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc, k as usePinceauRuntime } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Ellipsis", + __ssrInlineRender: true, + props: { + width: { + type: String, + default: "10rem" + }, + height: { + type: String, + default: "10rem" + }, + zIndex: { + type: String, + default: "10" + }, + top: { + type: String, + default: "0" + }, + left: { + type: String, + default: "auto" + }, + right: { + type: String, + default: "auto" + }, + blur: { + type: String, + default: "50px" + }, + colors: { + type: Array, + default: () => ["rgba(0, 71, 225, 0.22)", "rgba(26, 214, 255, 0.22)", "rgba(0, 220, 130, 0.22)"] + } + }, + setup(__props) { + const _cCN_top = computed(() => ((props = __$pProps) => props.top)()); + const _eih_insetInlineStart = computed(() => ((props = __$pProps) => props.left)()); + const _IfB_insetInlineEnd = computed(() => ((props = __$pProps) => props.right)()); + const _SsE_zIndex = computed(() => ((props = __$pProps) => props.zIndex)()); + const _wj8_maxWidth = computed(() => ((props = __$pProps) => props.width)()); + const _t33_height = computed(() => ((props = __$pProps) => props.height)()); + const _Jfd_filter = computed(() => ((props = __$pProps) => `blur(${props.blur})`)()); + const _yUj_background = computed(() => ((props = __$pProps) => { + var _a, _b, _c; + return `linear-gradient(97.62deg, ${(_a = props == null ? void 0 : props.colors) == null ? void 0 : _a[0]} 2.27%, ${(_b = props == null ? void 0 : props.colors) == null ? void 0 : _b[1]} 50.88%, ${(_c = props == null ? void 0 : props.colors) == null ? void 0 : _c[2]} 98.48%)`; + })()); + const __$pProps = __props; + const { $pinceau } = usePinceauRuntime(__$pProps, void 0, { _cCN_top, _eih_insetInlineStart, _IfB_insetInlineEnd, _SsE_zIndex, _wj8_maxWidth, _t33_height, _Jfd_filter, _yUj_background }); + return (_ctx, _push, _parent, _attrs) => { + _push(`
    `); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const Ellipsis = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-03072fdb"]]); + +export { Ellipsis as default }; +//# sourceMappingURL=Ellipsis-184c202e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs.map b/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs.map new file mode 100644 index 0000000000..c5ac6f8466 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Ellipsis-184c202e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Ellipsis-184c202e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Ellipsis-184c202e.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs b/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs new file mode 100644 index 0000000000..9b0e67eaf5 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs @@ -0,0 +1,96 @@ +import { useSSRContext, defineComponent, computed, unref, mergeProps } from 'vue'; +import { _ as _export_sfc, r as useAppConfig } from '../server.mjs'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "IconCSS", + __ssrInlineRender: true, + props: { + name: { + type: String, + required: true + }, + size: { + type: String, + default: "" + } + }, + setup(__props) { + var _a; + const appConfig = useAppConfig(); + ((_a = appConfig == null ? void 0 : appConfig.nuxtIcon) == null ? void 0 : _a.aliases) || {}; + const props = __props; + const iconName = computed(() => { + var _a2; + return (((_a2 = appConfig == null ? void 0 : appConfig.nuxtIcon) == null ? void 0 : _a2.aliases) || {})[props.name] || props.name; + }); + const iconUrl = computed(() => `url('https://api.iconify.design/${iconName.value.replace(":", "/")}.svg')`); + const sSize = computed(() => { + var _a2, _b, _c; + if (!props.size && typeof ((_a2 = appConfig.nuxtIcon) == null ? void 0 : _a2.size) === "boolean" && !((_b = appConfig.nuxtIcon) == null ? void 0 : _b.size)) { + return void 0; + } + const size = props.size || ((_c = appConfig.nuxtIcon) == null ? void 0 : _c.size) || "1em"; + if (String(Number(size)) === size) { + return `${size}px`; + } + return size; + }); + return (_ctx, _push, _parent, _attrs) => { + const _cssVars = { style: { + "--faa288c6": unref(iconUrl) + } }; + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt-icon/dist/runtime/IconCSS.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconCSS = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5217de21"]]); + +export { IconCSS as default }; +//# sourceMappingURL=IconCSS-42d1948b.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs.map b/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs.map new file mode 100644 index 0000000000..81da4496da --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconCSS-42d1948b.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconCSS-42d1948b.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconCSS-42d1948b.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs b/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs new file mode 100644 index 0000000000..edafda4f61 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs @@ -0,0 +1,60 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconCodeSandBox = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconCodeSandBox as default }; +//# sourceMappingURL=IconCodeSandBox-5aa49f50.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs.map b/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs.map new file mode 100644 index 0000000000..5005289c4e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconCodeSandBox-5aa49f50.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconCodeSandBox-5aa49f50.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconCodeSandBox-5aa49f50.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,OAAS,EAAA,aAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,4BAAA;AAAA,GACN,EAAA,MAAM,CAAC,CAAC,CAAyL,uLAAA,CAAA,CAAA,CAAA;AACtM,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,yEAAyE,CAAA,CAAA;AACtJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,eAAA,+BAA8C,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs b/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs new file mode 100644 index 0000000000..f8a5561cda --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs @@ -0,0 +1,60 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconDocus = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconDocus as default }; +//# sourceMappingURL=IconDocus-56c9fa2f.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs.map b/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs.map new file mode 100644 index 0000000000..fc2035332a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconDocus-56c9fa2f.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconDocus-56c9fa2f.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconDocus-56c9fa2f.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,OAAS,EAAA,WAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,4BAAA;AAAA,GACN,EAAA,MAAM,CAAC,CAAC,CAA4iB,0iBAAA,CAAA,CAAA,CAAA;AACzjB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,mEAAmE,CAAA,CAAA;AAChJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,SAAA,+BAAwC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs b/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs new file mode 100644 index 0000000000..cf4daa82c5 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs @@ -0,0 +1,59 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconNuxt = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconNuxt as default }; +//# sourceMappingURL=IconNuxt-cfd8fb8a.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs.map b/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs.map new file mode 100644 index 0000000000..075447196e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxt-cfd8fb8a.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconNuxt-cfd8fb8a.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconNuxt-cfd8fb8a.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,KAAO,EAAA,4BAAA;AAAA,IACP,OAAS,EAAA,aAAA;AAAA,GACR,EAAA,MAAM,CAAC,CAAC,CAAk7B,g7BAAA,CAAA,CAAA,CAAA;AAC/7B,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,kEAAkE,CAAA,CAAA;AAC/I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs b/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs new file mode 100644 index 0000000000..b26ea32a7e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs @@ -0,0 +1,59 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconNuxtContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconNuxtContent as default }; +//# sourceMappingURL=IconNuxtContent-c593c55e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs.map b/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs.map new file mode 100644 index 0000000000..d69a42a25a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtContent-c593c55e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconNuxtContent-c593c55e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconNuxtContent-c593c55e.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,KAAO,EAAA,4BAAA;AAAA,IACP,OAAS,EAAA,aAAA;AAAA,GACR,EAAA,MAAM,CAAC,CAAC,CAAk7B,g7BAAA,CAAA,CAAA,CAAA;AAC/7B,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,yEAAyE,CAAA,CAAA;AACtJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,eAAA,+BAA8C,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs b/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs new file mode 100644 index 0000000000..9a81496331 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs @@ -0,0 +1,59 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconNuxtLabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconNuxtLabs as default }; +//# sourceMappingURL=IconNuxtLabs-fcb4bbf4.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs.map b/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs.map new file mode 100644 index 0000000000..9fa0cc378d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtLabs-fcb4bbf4.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconNuxtLabs-fcb4bbf4.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconNuxtLabs-fcb4bbf4.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,KAAO,EAAA,4BAAA;AAAA,IACP,OAAS,EAAA,aAAA;AAAA,GACR,EAAA,MAAM,CAAC,CAAC,CAAk7B,g7BAAA,CAAA,CAAA,CAAA;AAC/7B,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,sEAAsE,CAAA,CAAA;AACnJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,YAAA,+BAA2C,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs b/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs new file mode 100644 index 0000000000..c2f328fb88 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs @@ -0,0 +1,59 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconNuxtStudio = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-9e7e743f"]]); + +export { IconNuxtStudio as default }; +//# sourceMappingURL=IconNuxtStudio-0df39500.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs.map b/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs.map new file mode 100644 index 0000000000..02dafc73a3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconNuxtStudio-0df39500.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconNuxtStudio-0df39500.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconNuxtStudio-0df39500.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,KAAO,EAAA,4BAAA;AAAA,IACP,OAAS,EAAA,aAAA;AAAA,GACR,EAAA,MAAM,CAAC,CAAC,CAAk9B,g9BAAA,CAAA,CAAA,CAAA;AAC/9B,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,wEAAwE,CAAA,CAAA;AACrJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,cAAiC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs b/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs new file mode 100644 index 0000000000..f46e382313 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs @@ -0,0 +1,60 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconStackBlitz = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconStackBlitz as default }; +//# sourceMappingURL=IconStackBlitz-20a3588c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs.map b/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs.map new file mode 100644 index 0000000000..575930de9d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconStackBlitz-20a3588c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconStackBlitz-20a3588c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconStackBlitz-20a3588c.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,OAAS,EAAA,WAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,4BAAA;AAAA,GACN,EAAA,MAAM,CAAC,CAAC,CAAsH,oHAAA,CAAA,CAAA,CAAA;AACnI,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,wEAAwE,CAAA,CAAA;AACrJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,cAAA,+BAA6C,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs b/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs new file mode 100644 index 0000000000..92b3dec64d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs @@ -0,0 +1,60 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const IconVueTelescope = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { IconVueTelescope as default }; +//# sourceMappingURL=IconVueTelescope-4c5f71cc.mjs.map diff --git a/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs.map b/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs.map new file mode 100644 index 0000000000..cbeb4b763b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/IconVueTelescope-4c5f71cc.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"IconVueTelescope-4c5f71cc.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/IconVueTelescope-4c5f71cc.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,IACrC,OAAS,EAAA,aAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,4BAAA;AAAA,GACN,EAAA,MAAM,CAAC,CAAC,CAA6b,2bAAA,CAAA,CAAA,CAAA;AAC1c,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,0EAA0E,CAAA,CAAA;AACvJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,gBAAA,+BAA+C,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/List-a30d7012.mjs b/.output/server/chunks/app/_nuxt/List-a30d7012.mjs new file mode 100644 index 0000000000..bd061cd826 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/List-a30d7012.mjs @@ -0,0 +1,102 @@ +import { _ as _export_sfc, o as __nuxt_component_0$4 } from '../server.mjs'; +import { _ as __nuxt_component_0, u as unwrap, f as flatUnwrap } from './MDCSlot-b6f8d3a7.mjs'; +import { useSSRContext, defineComponent, useSlots, computed, h } from 'vue'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const useUnwrap = () => ({ + unwrap, + flatUnwrap +}); +const iconTypeMap = { + primary: "heroicons-outline:check", + info: "heroicons-outline:information-circle", + success: "heroicons-outline:check-circle", + warning: "heroicons-outline:exclamation", + danger: "heroicons-outline:exclamation-circle" +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + /** + * Used to override the default type icon, check out the + * icons available + */ + icon: { + type: String, + default: null + }, + /** + * Type of list + */ + type: { + type: String, + default: "primary", + validator: (value) => ["primary", "info", "success", "warning", "danger"].includes(value) + } + }, + setup(props) { + const slots = useSlots(); + const { flatUnwrap: flatUnwrap2, unwrap: unwrap2 } = useUnwrap(); + const iconName = computed(() => props.icon || iconTypeMap[props.type]); + return () => { + var _a; + const items = flatUnwrap2((_a = slots.default && slots.default()) != null ? _a : [], ["ul"]).map((li) => unwrap2(li, ["li"])); + return h( + "ul", + items.map( + (item) => h("li", [ + h("span", { class: `list-icon ${props.type}` }, h(__nuxt_component_0$4, { name: iconName.value, class: "icon" })), + h("span", h(__nuxt_component_0, { use: () => item })) + ]) + ) + ); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/List.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const List = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e3286cf5"]]); + +export { List as default }; +//# sourceMappingURL=List-a30d7012.mjs.map diff --git a/.output/server/chunks/app/_nuxt/List-a30d7012.mjs.map b/.output/server/chunks/app/_nuxt/List-a30d7012.mjs.map new file mode 100644 index 0000000000..14841a40f8 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/List-a30d7012.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"List-a30d7012.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/List-a30d7012.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,OAAO;AAAA,EACvB,MAAA;AAAA,EACA,UAAA;AACF,CAAA,CAAA,CAAA;AACA,MAAM,WAAc,GAAA;AAAA,EAClB,OAAS,EAAA,yBAAA;AAAA,EACT,IAAM,EAAA,sCAAA;AAAA,EACN,OAAS,EAAA,gCAAA;AAAA,EACT,OAAS,EAAA,+BAAA;AAAA,EACT,MAAQ,EAAA,sCAAA;AACV,CAAA,CAAA;AACA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA;AAAA;AAAA;AAAA,IAIA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,SAAA;AAAA,MACT,SAAA,EAAW,CAAC,KAAA,KAAU,CAAC,SAAA,EAAW,MAAQ,EAAA,SAAA,EAAW,SAAW,EAAA,QAAQ,CAAE,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,KAC1F;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,EAAE,UAAY,EAAA,WAAA,EAAa,MAAQ,EAAA,OAAA,KAAY,SAAU,EAAA,CAAA;AAC/D,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM,KAAA,CAAM,QAAQ,WAAY,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AACrE,IAAA,OAAO,MAAM;AA3DjB,MAAA,IAAA,EAAA,CAAA;AA4DM,MAAM,MAAA,KAAA,GAAQ,aAAa,EAAM,GAAA,KAAA,CAAA,OAAA,IAAW,MAAM,OAAQ,EAAA,KAA/B,IAAqC,GAAA,EAAA,GAAA,EAAI,EAAA,CAAC,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,EAAA,KAAO,QAAQ,EAAI,EAAA,CAAC,IAAI,CAAC,CAAC,CAAA,CAAA;AAC3G,MAAO,OAAA,CAAA;AAAA,QACL,IAAA;AAAA,QACA,KAAM,CAAA,GAAA;AAAA,UACJ,CAAC,IAAS,KAAA,CAAA,CAAE,IAAM,EAAA;AAAA,YAChB,EAAE,MAAQ,EAAA,EAAE,OAAO,CAAa,UAAA,EAAA,KAAA,CAAM,IAAI,CAAG,CAAA,EAAA,EAAG,CAAE,CAAAA,oBAAA,EAAoB,EAAE,IAAM,EAAA,QAAA,CAAS,OAAO,KAAO,EAAA,MAAA,EAAQ,CAAC,CAAA;AAAA,YAC9G,CAAA,CAAE,QAAQ,CAAE,CAAAC,kBAAA,EAAsB,EAAE,GAAK,EAAA,MAAM,IAAK,EAAC,CAAC,CAAA;AAAA,WACvD,CAAA;AAAA,SACH;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,gEAAgE,CAAA,CAAA;AAC7I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,IAAA,+BAAmC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs b/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs new file mode 100644 index 0000000000..4300a8e8e7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs @@ -0,0 +1,151 @@ +import { useSSRContext, defineComponent, getCurrentInstance, useSlots, computed, h } from 'vue'; + +const TEXT_TAGS = ["p", "h1", "h2", "h3", "h4", "h5", "h6", "li"]; +function isTag(vnode, tag) { + if (vnode.type === tag) { + return true; + } + if (typeof vnode.type === "object" && vnode.type.tag === tag) { + return true; + } + if (vnode.tag === tag) { + return true; + } + return false; +} +function isText(vnode) { + return isTag(vnode, "text") || isTag(vnode, Symbol.for("v-txt")); +} +function nodeChildren(node) { + var _a; + if (Array.isArray(node.children) || typeof node.children === "string") { + return node.children; + } + if (typeof ((_a = node.children) == null ? void 0 : _a.default) === "function") { + return node.children.default(); + } + return []; +} +function nodeTextContent(node) { + if (!node) { + return ""; + } + if (Array.isArray(node)) { + return node.map(nodeTextContent).join(""); + } + if (isText(node)) { + return node.children || node.value || ""; + } + const children = nodeChildren(node); + if (Array.isArray(children)) { + return children.map(nodeTextContent).filter(Boolean).join(""); + } + return ""; +} +function unwrap(vnode, tags = []) { + if (Array.isArray(vnode)) { + return vnode.flatMap((node) => unwrap(node, tags)); + } + let result = vnode; + if (tags.some((tag) => tag === "*" || isTag(vnode, tag))) { + result = nodeChildren(vnode) || vnode; + if (!Array.isArray(result) && TEXT_TAGS.some((tag) => isTag(vnode, tag))) { + result = [result]; + } + } + return result; +} +function _flatUnwrap(vnodes, tags = []) { + vnodes = Array.isArray(vnodes) ? vnodes : [vnodes]; + if (!tags.length) { + return vnodes; + } + return vnodes.flatMap((vnode) => _flatUnwrap(unwrap(vnode, [tags[0]]), tags.slice(1))).filter((vnode) => !(isText(vnode) && nodeTextContent(vnode).trim() === "")); +} +function flatUnwrap(vnodes, tags = []) { + if (typeof tags === "string") { + tags = tags.split(",").map((tag) => tag.trim()).filter(Boolean); + } + if (!tags.length) { + return vnodes; + } + return _flatUnwrap(vnodes, tags).reduce((acc, item) => { + if (isText(item)) { + if (typeof acc[acc.length - 1] === "string") { + acc[acc.length - 1] += item.children; + } else { + acc.push(item.children); + } + } else { + acc.push(item); + } + return acc; + }, []); +} +const _sfc_main = /* @__PURE__ */ defineComponent({ + name: "MDCSlot", + functional: true, + props: { + name: { + type: String, + default: "default" + }, + /** + * Tags to unwrap separated by spaces + * Example: 'ul li' + */ + unwrap: { + type: [Boolean, String], + default: false + }, + /** + * VNode to render + * This is only useful for render functions + */ + use: { + type: Function, + default: void 0 + } + }, + setup(props) { + const { parent } = getCurrentInstance(); + const { default: fallbackSlot } = useSlots(); + const tags = computed(() => { + if (typeof props.unwrap === "string") { + return props.unwrap.split(" "); + } + return ["*"]; + }); + return { + fallbackSlot, + tags, + parent + }; + }, + render({ use, unwrap: unwrap2, fallbackSlot, tags, parent }) { + var _a; + try { + let slot = use; + if (typeof use === "string") { + slot = (parent == null ? void 0 : parent.slots[use]) || ((_a = parent == null ? void 0 : parent.parent) == null ? void 0 : _a.slots[use]); + console.warn(`Please set :use="$slots.${use}" in component to enable reactivity`); + } + if (!slot) { + return fallbackSlot ? fallbackSlot() : h("div"); + } + return unwrap2 ? flatUnwrap(slot(), tags) : [slot()]; + } catch (e) { + return h("div"); + } + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = _sfc_main; + +export { __nuxt_component_0 as _, flatUnwrap as f, unwrap as u }; +//# sourceMappingURL=MDCSlot-b6f8d3a7.mjs.map diff --git a/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs.map b/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs.map new file mode 100644 index 0000000000..23af8e1e76 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/MDCSlot-b6f8d3a7.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"MDCSlot-b6f8d3a7.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/MDCSlot-b6f8d3a7.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs b/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs new file mode 100644 index 0000000000..7459e80f8d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs @@ -0,0 +1,33 @@ +import { defineComponent, getCurrentInstance, useSlots, computed, useSSRContext } from 'vue'; +import _sfc_main$1 from './ContentSlot-8ddc8cc2.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + name: "Markdown", + extends: _sfc_main$1, + setup(props) { + const { parent } = getCurrentInstance(); + const { between, default: fallbackSlot } = useSlots(); + const tags = computed(() => { + if (typeof props.unwrap === "string") { + return props.unwrap.split(" "); + } + return ["*"]; + }); + return { + fallbackSlot, + tags, + between, + parent + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/Markdown.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=Markdown-5e6ffda7.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs.map b/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs.map new file mode 100644 index 0000000000..ea0d9687fa --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Markdown-5e6ffda7.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Markdown-5e6ffda7.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Markdown-5e6ffda7.js"],"sourcesContent":null,"names":[],"mappings":";;;;AAGA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,IAAM,EAAA,UAAA;AAAA,EACN,OAAS,EAAA,WAAA;AAAA,EACT,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,kBAAmB,EAAA,CAAA;AACtC,IAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,YAAA,KAAiB,QAAS,EAAA,CAAA;AACpD,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC1B,MAAI,IAAA,OAAO,KAAM,CAAA,MAAA,KAAW,QAAU,EAAA;AACpC,QAAO,OAAA,KAAA,CAAM,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,OAC/B;AACA,MAAA,OAAO,CAAC,GAAG,CAAA,CAAA;AAAA,KACZ,CAAA,CAAA;AACD,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,iEAAiE,CAAA,CAAA;AAC9I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs b/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs new file mode 100644 index 0000000000..20cf837f8d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs @@ -0,0 +1,98 @@ +import { defineComponent, computed, h, useSSRContext } from 'vue'; +import { g as useRuntimeConfig } from '../server.mjs'; +import { x as withBase } from '../../nitro/node-server.mjs'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + src: { + type: [String, Object], + default: null + } + }, + setup(props) { + const srcWithBase = (src) => { + if (src && src.startsWith("/") && !src.startsWith("//")) { + return withBase(src, useRuntimeConfig().app.baseURL); + } + return src; + }; + const imgSrc = computed(() => { + let src = props.src; + try { + src = JSON.parse(src); + } catch (e) { + src = props.src; + } + if (typeof src === "string") { + return srcWithBase(props.src); + } + return { + light: srcWithBase(src.light), + dark: srcWithBase(src.dark) + }; + }); + return { + imgSrc + }; + }, + render({ imgSrc }) { + if (typeof imgSrc === "string") { + return h("img", { src: imgSrc, ...this.$attrs }); + } + const nodes = []; + if (imgSrc.light) { + nodes.push(h("img", { src: imgSrc.light, class: ["dark-img"], ...this.$attrs })); + } + if (imgSrc.dark) { + nodes.push(h("img", { src: imgSrc.dark, class: ["light-img"], ...this.$attrs })); + } + return nodes; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=NuxtImg-4d4c6866.mjs.map diff --git a/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs.map b/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs.map new file mode 100644 index 0000000000..b1b358d038 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/NuxtImg-4d4c6866.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"NuxtImg-4d4c6866.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/NuxtImg-4d4c6866.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,KAAO,EAAA;AAAA,IACL,GAAK,EAAA;AAAA,MACH,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACrB,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,WAAA,GAAc,CAAC,GAAQ,KAAA;AAC3B,MAAI,IAAA,GAAA,IAAO,IAAI,UAAW,CAAA,GAAG,KAAK,CAAC,GAAA,CAAI,UAAW,CAAA,IAAI,CAAG,EAAA;AACvD,QAAA,OAAO,QAAS,CAAA,GAAA,EAAK,gBAAiB,EAAA,CAAE,IAAI,OAAO,CAAA,CAAA;AAAA,OACrD;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAM,MAAA,MAAA,GAAS,SAAS,MAAM;AAC5B,MAAA,IAAI,MAAM,KAAM,CAAA,GAAA,CAAA;AAChB,MAAI,IAAA;AACF,QAAM,GAAA,GAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AAAA,eACb,CAAG,EAAA;AACV,QAAA,GAAA,GAAM,KAAM,CAAA,GAAA,CAAA;AAAA,OACd;AACA,MAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC3B,QAAO,OAAA,WAAA,CAAY,MAAM,GAAG,CAAA,CAAA;AAAA,OAC9B;AACA,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,WAAY,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,QAC5B,IAAA,EAAM,WAAY,CAAA,GAAA,CAAI,IAAI,CAAA;AAAA,OAC5B,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,KACF,CAAA;AAAA,GACF;AAAA,EACA,MAAA,CAAO,EAAE,MAAA,EAAU,EAAA;AACjB,IAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,MAAO,OAAA,CAAA,CAAE,OAAO,EAAE,GAAA,EAAK,QAAQ,GAAG,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,KACjD;AACA,IAAA,MAAM,QAAQ,EAAC,CAAA;AACf,IAAA,IAAI,OAAO,KAAO,EAAA;AAChB,MAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,KAAO,EAAA,EAAE,KAAK,MAAO,CAAA,KAAA,EAAO,KAAO,EAAA,CAAC,UAAU,CAAG,EAAA,GAAG,IAAK,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAAA,KACjF;AACA,IAAA,IAAI,OAAO,IAAM,EAAA;AACf,MAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,KAAO,EAAA,EAAE,KAAK,MAAO,CAAA,IAAA,EAAM,KAAO,EAAA,CAAC,WAAW,CAAG,EAAA,GAAG,IAAK,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAAA,KACjF;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,mEAAmE,CAAA,CAAA;AAChJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs b/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs new file mode 100644 index 0000000000..6988864867 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs @@ -0,0 +1,58 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const PreviewLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-5f8e274d"]]); + +export { PreviewLayout as default }; +//# sourceMappingURL=PreviewLayout-96eed112.mjs.map diff --git a/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs.map b/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs.map new file mode 100644 index 0000000000..0d1cbad05f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/PreviewLayout-96eed112.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"PreviewLayout-96eed112.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/PreviewLayout-96eed112.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,kBAAoB,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC/F,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAChB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,sEAAsE,CAAA,CAAA;AACnJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,aAAgC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs b/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs new file mode 100644 index 0000000000..9e7f274200 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs @@ -0,0 +1,864 @@ +import __nuxt_component_0 from './ProseTable-c6860529.mjs'; +import __nuxt_component_1 from './ProseThead-d45a270b.mjs'; +import __nuxt_component_2 from './ProseTr-72057dbe.mjs'; +import __nuxt_component_3 from './ProseTh-b85b9933.mjs'; +import __nuxt_component_4 from './ProseTbody-f87b59b3.mjs'; +import __nuxt_component_5 from './ProseTd-a299de65.mjs'; +import __nuxt_component_1$1 from './ProseCodeInline-3a7a9d5f.mjs'; +import { useSSRContext, defineComponent, computed, withCtx, createTextVNode, createVNode, openBlock, createBlock, createCommentVNode, toDisplayString, Fragment, renderList } from 'vue'; +import { _ as _export_sfc, z as useAsyncData } from '../server.mjs'; +import { L as kebabCase } from '../../nitro/node-server.mjs'; +import { ssrRenderComponent, ssrRenderList, ssrInterpolate } from 'vue/server-renderer'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + props: { + of: { + type: String, + default: void 0 + }, + /** + * Toggle required column. + */ + required: { + type: Boolean, + default: void 0 + }, + /** + * Toggle values column. + */ + values: { + type: Boolean, + default: void 0 + }, + /** + * Toggle description column. + */ + description: { + type: Boolean, + default: void 0 + }, + /** + * Toglle default column. + */ + default: { + type: Boolean, + default: void 0 + } + }, + async setup(props) { + const query = `/api/component-meta/${kebabCase(props.of)}`; + const { data: meta } = await useAsyncData(props.of, () => $fetch(query), "$oSoCJtWFoC"); + const properties = computed(() => meta.value.props.filter((prop) => { + var _a; + return !((_a = prop.tags) == null ? void 0 : _a.ignore.includes(prop)); + })); + const showRequired = computed(() => { + var _a; + if (props.required !== void 0) { + return props.required; + } + return (_a = properties.value) == null ? void 0 : _a.find((prop) => prop.required !== void 0); + }); + const showValues = computed(() => { + var _a; + if (props.values !== void 0) { + return props.values; + } + return (_a = properties.value) == null ? void 0 : _a.find((prop) => prop.values); + }); + const showDescription = computed(() => { + var _a; + if (props.description !== void 0) { + return props.description; + } + return (_a = properties.value) == null ? void 0 : _a.find((prop) => prop.description); + }); + const showDefault = computed(() => { + var _a; + if (props.default !== void 0) { + return props.default; + } + return (_a = properties.value) == null ? void 0 : _a.find((prop) => prop.default); + }); + return { + meta, + properties, + showRequired, + showValues, + showDescription, + showDefault + }; + } +}); +function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) { + var _a, _b, _c; + const _component_ProseTable = __nuxt_component_0; + const _component_ProseThead = __nuxt_component_1; + const _component_ProseTr = __nuxt_component_2; + const _component_ProseTh = __nuxt_component_3; + const _component_ProseTbody = __nuxt_component_4; + const _component_ProseTd = __nuxt_component_5; + const _component_ProseCodeInline = __nuxt_component_1$1; + if (_ctx.meta && ((_a = _ctx.meta) == null ? void 0 : _a.props) && ((_c = (_b = _ctx.meta) == null ? void 0 : _b.props) == null ? void 0 : _c.length)) { + _push(ssrRenderComponent(_component_ProseTable, _attrs, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_ProseThead, null, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(ssrRenderComponent(_component_ProseTr, null, { + default: withCtx((_3, _push4, _parent4, _scopeId3) => { + if (_push4) { + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(`Prop`); + } else { + return [ + createTextVNode("Prop") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(`Type`); + } else { + return [ + createTextVNode("Type") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + if (_ctx.showRequired) { + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(` Required `); + } else { + return [ + createTextVNode(" Required ") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showDefault) { + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(` Default `); + } else { + return [ + createTextVNode(" Default ") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showValues) { + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(` Values `); + } else { + return [ + createTextVNode(" Values ") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showDescription) { + _push4(ssrRenderComponent(_component_ProseTh, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(` Description `); + } else { + return [ + createTextVNode(" Description ") + ]; + } + }), + _: 1 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + } else { + return [ + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Prop") + ]), + _: 1 + }), + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Type") + ]), + _: 1 + }), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTh, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(" Required ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTh, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" Default ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTh, { key: 2 }, { + default: withCtx(() => [ + createTextVNode(" Values ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTh, { key: 3 }, { + default: withCtx(() => [ + createTextVNode(" Description ") + ]), + _: 1 + })) : createCommentVNode("", true) + ]; + } + }), + _: 1 + }, _parent3, _scopeId2)); + } else { + return [ + createVNode(_component_ProseTr, null, { + default: withCtx(() => [ + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Prop") + ]), + _: 1 + }), + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Type") + ]), + _: 1 + }), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTh, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(" Required ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTh, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" Default ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTh, { key: 2 }, { + default: withCtx(() => [ + createTextVNode(" Values ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTh, { key: 3 }, { + default: withCtx(() => [ + createTextVNode(" Description ") + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + _: 1 + }) + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + _push2(ssrRenderComponent(_component_ProseTbody, null, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(``); + ssrRenderList(_ctx.properties, (prop) => { + _push3(ssrRenderComponent(_component_ProseTr, { + key: prop.name + }, { + default: withCtx((_3, _push4, _parent4, _scopeId3) => { + if (_push4) { + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate((prop == null ? void 0 : prop.name) || "?")}`); + } else { + return [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.name) || "?"), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + return [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.name) || "?"), 1) + ]), + _: 2 + }, 1024) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate((prop == null ? void 0 : prop.type) || "?")}`); + } else { + return [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.type) || "?"), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + return [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.type) || "?"), 1) + ]), + _: 2 + }, 1024) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + if (_ctx.showRequired) { + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate(prop.required === "?" ? "?" : prop.required ? "Yes" : "No")}`); + } else { + return [ + createTextVNode(toDisplayString(prop.required === "?" ? "?" : prop.required ? "Yes" : "No"), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + return [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.required === "?" ? "?" : prop.required ? "Yes" : "No"), 1) + ]), + _: 2 + }, 1024) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showDefault) { + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + if (prop.default) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate((prop == null ? void 0 : prop.default) || "?")}`); + } else { + return [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.default) || "?"), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + _push5(``); + } + } else { + return [ + prop.default ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.default) || "?"), 1) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showValues) { + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + if (prop.values) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate((prop == null ? void 0 : prop.values) || "?")}`); + } else { + return [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.values) || "?"), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(` - `); + } else { + return [ + createTextVNode(" - ") + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } + } else { + return [ + prop.values ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.values) || "?"), 1) + ]), + _: 2 + }, 1024)) : (openBlock(), createBlock(_component_ProseCodeInline, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" - ") + ]), + _: 1 + })) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + if (_ctx.showDescription) { + _push4(ssrRenderComponent(_component_ProseTd, null, { + default: withCtx((_4, _push5, _parent5, _scopeId4) => { + if (_push5) { + _push5(ssrRenderComponent(_component_ProseCodeInline, null, { + default: withCtx((_5, _push6, _parent6, _scopeId5) => { + if (_push6) { + _push6(`${ssrInterpolate(prop.description)}`); + } else { + return [ + createTextVNode(toDisplayString(prop.description), 1) + ]; + } + }), + _: 2 + }, _parent5, _scopeId4)); + } else { + return [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.description), 1) + ]), + _: 2 + }, 1024) + ]; + } + }), + _: 2 + }, _parent4, _scopeId3)); + } else { + _push4(``); + } + } else { + return [ + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.name) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.type) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTd, { key: 0 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.required === "?" ? "?" : prop.required ? "Yes" : "No"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTd, { key: 1 }, { + default: withCtx(() => [ + prop.default ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.default) || "?"), 1) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTd, { key: 2 }, { + default: withCtx(() => [ + prop.values ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.values) || "?"), 1) + ]), + _: 2 + }, 1024)) : (openBlock(), createBlock(_component_ProseCodeInline, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" - ") + ]), + _: 1 + })) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTd, { key: 3 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.description), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]; + } + }), + _: 2 + }, _parent3, _scopeId2)); + }); + _push3(``); + } else { + return [ + (openBlock(true), createBlock(Fragment, null, renderList(_ctx.properties, (prop) => { + return openBlock(), createBlock(_component_ProseTr, { + key: prop.name + }, { + default: withCtx(() => [ + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.name) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.type) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTd, { key: 0 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.required === "?" ? "?" : prop.required ? "Yes" : "No"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTd, { key: 1 }, { + default: withCtx(() => [ + prop.default ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.default) || "?"), 1) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTd, { key: 2 }, { + default: withCtx(() => [ + prop.values ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.values) || "?"), 1) + ]), + _: 2 + }, 1024)) : (openBlock(), createBlock(_component_ProseCodeInline, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" - ") + ]), + _: 1 + })) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTd, { key: 3 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.description), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]), + _: 2 + }, 1024); + }), 128)) + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_ProseThead, null, { + default: withCtx(() => [ + createVNode(_component_ProseTr, null, { + default: withCtx(() => [ + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Prop") + ]), + _: 1 + }), + createVNode(_component_ProseTh, null, { + default: withCtx(() => [ + createTextVNode("Type") + ]), + _: 1 + }), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTh, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(" Required ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTh, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" Default ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTh, { key: 2 }, { + default: withCtx(() => [ + createTextVNode(" Values ") + ]), + _: 1 + })) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTh, { key: 3 }, { + default: withCtx(() => [ + createTextVNode(" Description ") + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + _: 1 + }) + ]), + _: 1 + }), + createVNode(_component_ProseTbody, null, { + default: withCtx(() => [ + (openBlock(true), createBlock(Fragment, null, renderList(_ctx.properties, (prop) => { + return openBlock(), createBlock(_component_ProseTr, { + key: prop.name + }, { + default: withCtx(() => [ + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.name) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + createVNode(_component_ProseTd, null, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.type) || "?"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024), + _ctx.showRequired ? (openBlock(), createBlock(_component_ProseTd, { key: 0 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.required === "?" ? "?" : prop.required ? "Yes" : "No"), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDefault ? (openBlock(), createBlock(_component_ProseTd, { key: 1 }, { + default: withCtx(() => [ + prop.default ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.default) || "?"), 1) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showValues ? (openBlock(), createBlock(_component_ProseTd, { key: 2 }, { + default: withCtx(() => [ + prop.values ? (openBlock(), createBlock(_component_ProseCodeInline, { key: 0 }, { + default: withCtx(() => [ + createTextVNode(toDisplayString((prop == null ? void 0 : prop.values) || "?"), 1) + ]), + _: 2 + }, 1024)) : (openBlock(), createBlock(_component_ProseCodeInline, { key: 1 }, { + default: withCtx(() => [ + createTextVNode(" - ") + ]), + _: 1 + })) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true), + _ctx.showDescription ? (openBlock(), createBlock(_component_ProseTd, { key: 3 }, { + default: withCtx(() => [ + createVNode(_component_ProseCodeInline, null, { + default: withCtx(() => [ + createTextVNode(toDisplayString(prop.description), 1) + ]), + _: 2 + }, 1024) + ]), + _: 2 + }, 1024)) : createCommentVNode("", true) + ]), + _: 2 + }, 1024); + }), 128)) + ]), + _: 1 + }) + ]; + } + }), + _: 1 + }, _parent)); + } else { + _push(``); + } +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Props.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const Props = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { Props as default }; +//# sourceMappingURL=Props-6b1490be.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs.map b/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs.map new file mode 100644 index 0000000000..7b3bfdf659 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Props-6b1490be.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Props-6b1490be.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Props-6b1490be.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs b/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs new file mode 100644 index 0000000000..77c02363c8 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs @@ -0,0 +1,87 @@ +import { _ as _export_sfc, a as __nuxt_component_0$6 } from '../server.mjs'; +import { useSSRContext, defineComponent, mergeProps, withCtx, renderSlot } from 'vue'; +import { ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseA", + __ssrInlineRender: true, + props: { + href: { + type: String, + default: "" + }, + target: { + type: String, + default: void 0, + required: false + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + _push(ssrRenderComponent(_component_NuxtLink, mergeProps({ + to: __props.href, + target: __props.target + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true) + ]; + } + }), + _: 3 + }, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseA.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-692834dd"]]); + +export { __nuxt_component_2 as default }; +//# sourceMappingURL=ProseA-d15a6354.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs.map b/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs.map new file mode 100644 index 0000000000..73976f9a4a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseA-d15a6354.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseA-d15a6354.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseA-d15a6354.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,QAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,mBAAsB,GAAAA,oBAAA,CAAA;AAC5B,MAAM,KAAA,CAAA,kBAAA,CAAmB,qBAAqB,UAAW,CAAA;AAAA,QACvD,IAAI,OAAQ,CAAA,IAAA;AAAA,QACZ,QAAQ,OAAQ,CAAA,MAAA;AAAA,OAClB,EAAG,MAAM,CAAG,EAAA;AAAA,QACV,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,UAAA,IAAI,MAAQ,EAAA;AACV,YAAc,aAAA,CAAA,IAAA,CAAK,QAAQ,SAAW,EAAA,IAAI,IAAM,EAAA,MAAA,EAAQ,UAAU,QAAQ,CAAA,CAAA;AAAA,WACrE,MAAA;AACL,YAAO,OAAA;AAAA,cACL,WAAW,IAAK,CAAA,MAAA,EAAQ,WAAW,EAAC,EAAG,QAAQ,IAAI,CAAA;AAAA,aACrD,CAAA;AAAA,WACF;AAAA,SACD,CAAA;AAAA,QACD,CAAG,EAAA,CAAA;AAAA,OACL,EAAG,OAAO,CAAC,CAAA,CAAA;AAAA,KACb,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,mEAAmE,CAAA,CAAA;AAChJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs b/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs new file mode 100644 index 0000000000..247bf9d31f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseBlockquote = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-96397147"]]); + +export { ProseBlockquote as default }; +//# sourceMappingURL=ProseBlockquote-de33a742.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs.map b/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs.map new file mode 100644 index 0000000000..1a035c6170 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseBlockquote-de33a742.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseBlockquote-de33a742.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseBlockquote-de33a742.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAc,WAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC7D,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAe,aAAA,CAAA,CAAA,CAAA;AACvB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,4EAA4E,CAAA,CAAA;AACzJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,eAAkC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs b/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs new file mode 100644 index 0000000000..da19809696 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs @@ -0,0 +1,149 @@ +import { _ as _export_sfc, x as useClipboard, y as onClickOutside, r as useAppConfig, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, ref, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "ProseCodeCopyButton", + __ssrInlineRender: true, + props: { + content: { + type: String, + default: "" + }, + show: { + type: Boolean, + default: false + } + }, + setup(__props) { + const copyButtonRef = ref(); + useClipboard(); + onClickOutside(copyButtonRef, () => { + if (state.value === "copied") { + state.value = "init"; + } + }); + const { prose } = useAppConfig(); + const state = ref("init"); + return (_ctx, _push, _parent, _attrs) => { + var _a, _b; + const _component_Icon = __nuxt_component_0$4; + _push(`Copy to clipboard`); + if (state.value === "copied") { + _push(ssrRenderComponent(_component_Icon, { + name: (_a = unref(prose).copyButton) == null ? void 0 : _a.iconCopied, + size: "18", + class: "copied" + }, null, _parent)); + } else { + _push(ssrRenderComponent(_component_Icon, { + name: (_b = unref(prose).copyButton) == null ? void 0 : _b.iconCopy, + size: "18" + }, null, _parent)); + } + _push(``); + }; + } +}); +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/ProseCodeCopyButton.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const __nuxt_component_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-4a003820"]]); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseCode", + __ssrInlineRender: true, + props: { + code: { + type: String, + default: "" + }, + language: { + type: String, + default: null + }, + filename: { + type: String, + default: null + }, + highlights: { + type: Array, + default: () => [] + } + }, + setup(__props) { + const hovered = ref(false); + return (_ctx, _push, _parent, _attrs) => { + const _component_ProseCodeCopyButton = __nuxt_component_0$1; + _push(``); + if (__props.filename) { + _push(`${ssrInterpolate(__props.filename)}`); + } else { + _push(``); + } + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(ssrRenderComponent(_component_ProseCodeCopyButton, { + show: hovered.value, + content: __props.code, + class: "copy-button" + }, null, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseCode.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c164ce0a"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=ProseCode-879ee0f0.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs.map b/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs.map new file mode 100644 index 0000000000..09a8a406fd --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseCode-879ee0f0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseCode-879ee0f0.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseCode-879ee0f0.js"],"sourcesContent":null,"names":["__nuxt_component_0$2"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs b/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs new file mode 100644 index 0000000000..1463af3226 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-2f6bd69d"]]); + +export { __nuxt_component_1 as default }; +//# sourceMappingURL=ProseCodeInline-3a7a9d5f.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs.map b/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs.map new file mode 100644 index 0000000000..1419f4a055 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseCodeInline-3a7a9d5f.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseCodeInline-3a7a9d5f.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseCodeInline-3a7a9d5f.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAQ,KAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACvD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AACjB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,4EAA4E,CAAA,CAAA;AACzJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs b/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs new file mode 100644 index 0000000000..1afd5ac4c3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseEm.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseEm = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-b3b2ffd9"]]); + +export { ProseEm as default }; +//# sourceMappingURL=ProseEm-0af08bee.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs.map b/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs.map new file mode 100644 index 0000000000..5ff26ab37c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseEm-0af08bee.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseEm-0af08bee.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseEm-0af08bee.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,OAA0B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs b/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs new file mode 100644 index 0000000000..184ff6049d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH1", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h1) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h1) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH1.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseH1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2001208a"]]); + +export { ProseH1 as default }; +//# sourceMappingURL=ProseH1-b6c1c742.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs.map b/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs.map new file mode 100644 index 0000000000..fa423102e4 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH1-b6c1c742.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH1-b6c1c742.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH1-b6c1c742.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs b/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs new file mode 100644 index 0000000000..97611ba7c1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH2", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h2) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h2) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH2.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseH2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-70b0c1e2"]]); + +export { ProseH2 as default }; +//# sourceMappingURL=ProseH2-fc88c79c.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs.map b/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs.map new file mode 100644 index 0000000000..5076c3af61 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH2-fc88c79c.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH2-fc88c79c.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH2-fc88c79c.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs b/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs new file mode 100644 index 0000000000..aeb9f4bcf1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH3", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h3) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h3) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH3.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseH3 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4cf5bb93"]]); + +export { ProseH3 as default }; +//# sourceMappingURL=ProseH3-4c15b496.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs.map b/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs.map new file mode 100644 index 0000000000..509aa18584 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH3-4c15b496.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH3-4c15b496.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH3-4c15b496.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs b/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs new file mode 100644 index 0000000000..81487ff15c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH4", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h4) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h4) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH4.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-57e8d291"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=ProseH4-148db78a.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs.map b/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs.map new file mode 100644 index 0000000000..c6b325b225 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH4-148db78a.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH4-148db78a.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH4-148db78a.js"],"sourcesContent":null,"names":["__nuxt_component_0$1","__nuxt_component_0$2"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs b/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs new file mode 100644 index 0000000000..8bc9709bb7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH5", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h5) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h5) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH5.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseH5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-637c86f5"]]); + +export { ProseH5 as default }; +//# sourceMappingURL=ProseH5-81c79c36.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs.map b/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs.map new file mode 100644 index 0000000000..d4e3e6340f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH5-81c79c36.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH5-81c79c36.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH5-81c79c36.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs b/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs new file mode 100644 index 0000000000..c3d0ed59f7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs @@ -0,0 +1,99 @@ +import { _ as _export_sfc, r as useAppConfig, a as __nuxt_component_0$6, o as __nuxt_component_0$4 } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, withCtx, renderSlot, openBlock, createBlock, createCommentVNode } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseH6", + __ssrInlineRender: true, + props: { + id: {} + }, + setup(__props) { + const { prose } = useAppConfig(); + const hasIcon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h6) == null ? void 0 : _a.icon) && ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + const icon = computed(() => { + var _a, _b; + return ((_a = prose == null ? void 0 : prose.h6) == null ? void 0 : _a.icon) || ((_b = prose == null ? void 0 : prose.headings) == null ? void 0 : _b.icon); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_NuxtLink, { + href: `#${_ctx.id}` + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + if (hasIcon.value) { + _push2(ssrRenderComponent(_component_Icon, { name: icon.value }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true), + hasIcon.value ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.value + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseH6.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseH6 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-913dabe3"]]); + +export { ProseH6 as default }; +//# sourceMappingURL=ProseH6-929f786d.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs.map b/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs.map new file mode 100644 index 0000000000..4267ee0932 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseH6-929f786d.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseH6-929f786d.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseH6-929f786d.js"],"sourcesContent":null,"names":["__nuxt_component_0","__nuxt_component_0$1"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs b/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs new file mode 100644 index 0000000000..27ca2a0f55 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs @@ -0,0 +1,56 @@ +import { ssrRenderAttrs } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseHr.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseHr = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-89dedb08"]]); + +export { ProseHr as default }; +//# sourceMappingURL=ProseHr-a41041ed.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs.map b/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs.map new file mode 100644 index 0000000000..bb7fa4699c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseHr-a41041ed.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseHr-a41041ed.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseHr-a41041ed.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACvD,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,OAA0B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs b/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs new file mode 100644 index 0000000000..d8d0c2852b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs @@ -0,0 +1,92 @@ +import { _ as _export_sfc, g as useRuntimeConfig } from '../server.mjs'; +import { useSSRContext, defineComponent, computed, mergeProps, unref } from 'vue'; +import { x as withBase } from '../../nitro/node-server.mjs'; +import { ssrRenderAttrs } from 'vue/server-renderer'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseImg", + __ssrInlineRender: true, + props: { + src: { + type: String, + default: "" + }, + alt: { + type: String, + default: "" + }, + width: { + type: [String, Number], + default: void 0 + }, + height: { + type: [String, Number], + default: void 0 + } + }, + setup(__props) { + const props = __props; + const refinedSrc = computed(() => { + var _a; + if (((_a = props.src) == null ? void 0 : _a.startsWith("/")) && !props.src.startsWith("//")) { + return withBase(props.src, useRuntimeConfig().app.baseURL); + } + return props.src; + }); + return (_ctx, _push, _parent, _attrs) => { + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseImg.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseImg = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2ef15301"]]); + +export { ProseImg as default }; +//# sourceMappingURL=ProseImg-2a94ad55.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs.map b/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs.map new file mode 100644 index 0000000000..0d0dbfed80 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseImg-2a94ad55.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseImg-2a94ad55.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseImg-2a94ad55.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,UAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,KAAO,EAAA;AAAA,MACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACrB,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACrB,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAI,IAAA,EAAA,CAAA;AACJ,MAAA,IAAA,CAAA,CAAM,EAAK,GAAA,KAAA,CAAM,GAAQ,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA,UAAA,CAAW,GAAG,CAAA,KAAM,CAAC,KAAA,CAAM,GAAI,CAAA,UAAA,CAAW,IAAI,CAAG,EAAA;AAC3F,QAAA,OAAO,SAAS,KAAM,CAAA,GAAA,EAAK,gBAAiB,EAAA,CAAE,IAAI,OAAO,CAAA,CAAA;AAAA,OAC3D;AACA,MAAA,OAAO,KAAM,CAAA,GAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,KAAA,CAAM,CAAO,IAAA,EAAA,cAAA,CAAe,UAAW,CAAA,IAAA,CAAK,MAAQ,EAAA;AAAA,QAClD,GAAA,EAAK,MAAM,UAAU,CAAA;AAAA,QACrB,KAAK,OAAQ,CAAA,GAAA;AAAA,QACb,OAAO,OAAQ,CAAA,KAAA;AAAA,QACf,QAAQ,OAAQ,CAAA,MAAA;AAAA,OACf,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAAA,KAChC,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,qEAAqE,CAAA,CAAA;AAClJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs b/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs new file mode 100644 index 0000000000..5eb6292ebf --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseLi.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseLi = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-4c2f5fb9"]]); + +export { ProseLi as default }; +//# sourceMappingURL=ProseLi-e5eaed75.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs.map b/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs.map new file mode 100644 index 0000000000..3cf6cf90d8 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseLi-e5eaed75.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseLi-e5eaed75.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseLi-e5eaed75.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,OAA0B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs b/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs new file mode 100644 index 0000000000..bdef29fb93 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseOl.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseOl = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-e6ab85be"]]); + +export { ProseOl as default }; +//# sourceMappingURL=ProseOl-e464dd83.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs.map b/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs.map new file mode 100644 index 0000000000..9e57599576 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseOl-e464dd83.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseOl-e464dd83.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseOl-e464dd83.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,OAA0B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs b/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs new file mode 100644 index 0000000000..c7d8cef0b2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`

    `); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseP.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-9dc9c102"]]); + +export { __nuxt_component_3 as default }; +//# sourceMappingURL=ProseP-9ba527ea.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs.map b/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs.map new file mode 100644 index 0000000000..ad2e544cfc --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseP-9ba527ea.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseP-9ba527ea.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseP-9ba527ea.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAK,EAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACpD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAM,IAAA,CAAA,CAAA,CAAA;AACd,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,mEAAmE,CAAA,CAAA;AAChJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs b/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs new file mode 100644 index 0000000000..c1ef316def --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs @@ -0,0 +1,116 @@ +import __nuxt_component_0 from './ProseCode-879ee0f0.mjs'; +import { defineComponent, mergeProps, withCtx, createVNode, renderSlot, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderClass, ssrRenderStyle, ssrRenderSlot } from 'vue/server-renderer'; +import '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProsePre", + __ssrInlineRender: true, + props: { + code: { + type: String, + default: "" + }, + language: { + type: String, + default: null + }, + filename: { + type: String, + default: null + }, + highlights: { + type: Array, + default: () => [] + }, + meta: { + type: String, + default: null + }, + class: { + type: String, + default: null + }, + style: { + type: [String, Object], + default: null + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + const _component_ProseCode = __nuxt_component_0; + _push(ssrRenderComponent(_component_ProseCode, mergeProps({ + code: __props.code, + language: __props.language, + filename: __props.filename, + highlights: __props.highlights, + meta: __props.meta + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
    `);
    +            ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId);
    +            _push2(`
    `); + } else { + return [ + createVNode("pre", { + class: _ctx.$props.class, + style: __props.style + }, [ + renderSlot(_ctx.$slots, "default") + ], 6) + ]; + } + }), + _: 3 + }, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/components/Prose/ProsePre.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ProsePre-5ec4d959.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs.map b/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs.map new file mode 100644 index 0000000000..963e703cbe --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProsePre-5ec4d959.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProsePre-5ec4d959.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProsePre-5ec4d959.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs b/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs new file mode 100644 index 0000000000..38a7b9ea66 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs @@ -0,0 +1,32 @@ +import { defineComponent, computed, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ProseScript", + __ssrInlineRender: true, + props: { + src: { + type: String, + default: "" + } + }, + setup(__props) { + const isDev = computed(() => false); + return (_ctx, _push, _parent, _attrs) => { + if (isDev.value) { + _push(` Rendering the script element is dangerous and is disabled by default. Consider implementing your own ProseScript element to have control over script rendering. `); + } else { + _push(``); + } + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=ProseScript-bfe5d4dd.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs.map b/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs.map new file mode 100644 index 0000000000..77d1f58312 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseScript-bfe5d4dd.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseScript-bfe5d4dd.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseScript-bfe5d4dd.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,aAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,MAAM,KAAK,CAAA,CAAA;AAClC,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,IAAI,MAAM,KAAO,EAAA;AACf,QAAA,KAAA,CAAM,CAAO,IAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAoM,kMAAA,CAAA,CAAA,CAAA;AAAA,OAClO,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,wEAAwE,CAAA,CAAA;AACrJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs b/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs new file mode 100644 index 0000000000..f4a9499566 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseStrong = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-84b57b07"]]); + +export { ProseStrong as default }; +//# sourceMappingURL=ProseStrong-3a68591e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs.map b/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs.map new file mode 100644 index 0000000000..246b9ecbdb --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseStrong-3a68591e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseStrong-3a68591e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseStrong-3a68591e.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAU,OAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACzD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAW,SAAA,CAAA,CAAA,CAAA;AACnB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,wEAAwE,CAAA,CAAA;AACrJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,WAA8B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs b/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs new file mode 100644 index 0000000000..d82747d8a8 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs @@ -0,0 +1,58 @@ +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`
    `); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseTable.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-78f198db"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=ProseTable-c6860529.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs.map b/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs.map new file mode 100644 index 0000000000..1a9d3b3c3c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTable-c6860529.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseTable-c6860529.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseTable-c6860529.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,iBAAmB,EAAA,MAAM,CAAC,CAAC,CAA0C,wCAAA,CAAA,CAAA,CAAA;AACrH,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAgB,cAAA,CAAA,CAAA,CAAA;AACxB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,uEAAuE,CAAA,CAAA;AACpJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs b/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs new file mode 100644 index 0000000000..ee049b3e0c --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_4 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { __nuxt_component_4 as default }; +//# sourceMappingURL=ProseTbody-f87b59b3.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs.map b/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs.map new file mode 100644 index 0000000000..8c82a736a4 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTbody-f87b59b3.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseTbody-f87b59b3.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseTbody-f87b59b3.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAS,MAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAU,QAAA,CAAA,CAAA,CAAA;AAClB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,uEAAuE,CAAA,CAAA;AACpJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs b/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs new file mode 100644 index 0000000000..7dc42756b1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseTd.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-5f84e3ba"]]); + +export { __nuxt_component_5 as default }; +//# sourceMappingURL=ProseTd-a299de65.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs.map b/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs.map new file mode 100644 index 0000000000..8ffbbb7b85 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTd-a299de65.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseTd-a299de65.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseTd-a299de65.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs b/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs new file mode 100644 index 0000000000..717d23c94e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseTh.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-40ddd69b"]]); + +export { __nuxt_component_3 as default }; +//# sourceMappingURL=ProseTh-b85b9933.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs.map b/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs.map new file mode 100644 index 0000000000..158d47634f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTh-b85b9933.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseTh-b85b9933.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseTh-b85b9933.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs b/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs new file mode 100644 index 0000000000..7bd559af50 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseThead.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-81e7d1ab"]]); + +export { __nuxt_component_1 as default }; +//# sourceMappingURL=ProseThead-d45a270b.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs.map b/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs.map new file mode 100644 index 0000000000..c29ee101fa --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseThead-d45a270b.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseThead-d45a270b.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseThead-d45a270b.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAS,MAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACxD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAU,QAAA,CAAA,CAAA,CAAA;AAClB,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,uEAAuE,CAAA,CAAA;AACpJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs b/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs new file mode 100644 index 0000000000..866ca399a4 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseTr.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-759aaa1b"]]); + +export { __nuxt_component_2 as default }; +//# sourceMappingURL=ProseTr-72057dbe.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs.map b/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs.map new file mode 100644 index 0000000000..27c49b27fe --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseTr-72057dbe.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseTr-72057dbe.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseTr-72057dbe.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,kBAAqC,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs b/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs new file mode 100644 index 0000000000..765f245a5e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs @@ -0,0 +1,58 @@ +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { useSSRContext } from 'vue'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/typography/components/global/ProseUl.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const ProseUl = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-5bd61aad"]]); + +export { ProseUl as default }; +//# sourceMappingURL=ProseUl-f7908751.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs.map b/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs.map new file mode 100644 index 0000000000..5bf4a080be --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ProseUl-f7908751.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ProseUl-f7908751.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ProseUl-f7908751.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,KAAA,CAAM,CAAM,GAAA,EAAA,cAAA,CAAe,MAAM,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,EAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,SAAA,EAAW,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAO,KAAA,CAAA,CAAA,CAAA;AACf,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACA,MAAM,OAA0B,mBAAA,WAAA,CAAY,SAAW,EAAA,CAAC,CAAC,WAAA,EAAa,cAAc,CAAA,EAAG,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs b/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs new file mode 100644 index 0000000000..4fd6484750 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs @@ -0,0 +1,122 @@ +import __nuxt_component_0 from './TabsHeader-6f158920.mjs'; +import { _ as _export_sfc, A as useColorMode } from '../server.mjs'; +import { useSSRContext, defineComponent, ref, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Sandbox", + __ssrInlineRender: true, + props: { + src: { + type: String, + default: "" + }, + repo: { + type: String, + default: "" + }, + branch: { + type: String, + default: "" + }, + dir: { + type: String, + default: "" + }, + file: { + type: String, + default: "app.vue" + } + }, + setup(__props) { + const props = __props; + const colorMode = useColorMode(); + const providers = { + CodeSandBox: () => `https://codesandbox.io/embed/github/${props.repo}/tree/${props.branch}/${props.dir}?hidenavigation=1&theme=${colorMode.value}`, + StackBlitz: () => `https://stackblitz.com/github/${props.repo}/tree/${props.branch}/${props.dir}?embed=1&file=${props.file}&theme=${colorMode.value}` + }; + const providersTabs = Object.keys(providers).map((p) => ({ label: p })); + const activeTabIndex = ref(-1); + const tabs = ref(); + const url = ref(""); + const provider = ref(""); + const changeProvider = (value) => { + provider.value = value; + url.value = props.src || providers[provider.value](); + localStorage.setItem("docus_sandbox", value); + }; + const updateTab = (i) => { + activeTabIndex.value = i; + changeProvider(providersTabs[i].label); + }; + return (_ctx, _push, _parent, _attrs) => { + const _component_TabsHeader = __nuxt_component_0; + _push(``); + if (!__props.src) { + _push(ssrRenderComponent(_component_TabsHeader, { + ref_key: "tabs", + ref: tabs, + "active-tab-index": unref(activeTabIndex), + tabs: unref(providersTabs), + "onUpdate:activeTabIndex": updateTab + }, null, _parent)); + } else { + _push(``); + } + if (unref(url)) { + _push(``); + } else { + _push(`Loading Sandbox...`); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const Sandbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fecef2a9"]]); + +export { Sandbox as default }; +//# sourceMappingURL=Sandbox-987e5cc0.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs.map b/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs.map new file mode 100644 index 0000000000..a5e3a2b9db --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Sandbox-987e5cc0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Sandbox-987e5cc0.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Sandbox-987e5cc0.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs b/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs new file mode 100644 index 0000000000..d3b4791ac7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs @@ -0,0 +1,68 @@ +import __nuxt_component_3 from './ProseP-9ba527ea.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; +import '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "SourceLink", + __ssrInlineRender: true, + props: { + source: { + type: String, + required: true + } + }, + setup(__props) { + return (_ctx, _push, _parent, _attrs) => { + const _component_ProseP = __nuxt_component_3; + _push(ssrRenderComponent(_component_ProseP, _attrs, null, _parent)); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=SourceLink-9bcaa785.mjs.map diff --git a/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs.map b/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs.map new file mode 100644 index 0000000000..db9d953f31 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/SourceLink-9bcaa785.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"SourceLink-9bcaa785.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/SourceLink-9bcaa785.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,YAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,iBAAoB,GAAA,kBAAA,CAAA;AAC1B,MAAA,KAAA,CAAM,kBAAmB,CAAA,iBAAA,EAAmB,MAAQ,EAAA,IAAA,EAAM,OAAO,CAAC,CAAA,CAAA;AAAA,KACpE,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,gEAAgE,CAAA,CAAA;AAC7I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs b/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs new file mode 100644 index 0000000000..22bea51317 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs @@ -0,0 +1,107 @@ +import { useSSRContext, defineComponent, ref, watch, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "TabsHeader", + __ssrInlineRender: true, + props: { + tabs: { + type: Array, + required: true + }, + activeTabIndex: { + type: Number, + required: true + } + }, + emits: ["update:activeTabIndex"], + setup(__props, { emit: __emit }) { + const props = __props; + const tabsRef = ref(); + const highlightUnderline = ref(); + const updateHighlightUnderlinePosition = (activeTab) => { + if (!activeTab) { + return; + } + highlightUnderline.value.style.insetInlineStart = `${activeTab.offsetLeft}px`; + highlightUnderline.value.style.width = `${activeTab.clientWidth}px`; + }; + watch( + tabsRef, + (newVal) => { + if (!newVal) { + return; + } + setTimeout(() => { + updateHighlightUnderlinePosition(tabsRef.value.children[props.activeTabIndex]); + }, 50); + }, + { + immediate: true + } + ); + return (_ctx, _push, _parent, _attrs) => { + _push(``); + if (__props.tabs) { + _push(`
    `); + ssrRenderList(__props.tabs, ({ label }, i) => { + _push(``); + }); + _push(`
    `); + } else { + _push(``); + } + ssrRenderSlot(_ctx.$slots, "footer", {}, null, _push, _parent); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9b59cc28"]]); + +export { __nuxt_component_0 as default }; +//# sourceMappingURL=TabsHeader-6f158920.mjs.map diff --git a/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs.map b/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs.map new file mode 100644 index 0000000000..8a7574c390 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/TabsHeader-6f158920.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"TabsHeader-6f158920.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/TabsHeader-6f158920.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,YAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,KAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,cAAgB,EAAA;AAAA,MACd,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,KAAA,EAAO,CAAC,uBAAuB,CAAA;AAAA,EAC/B,KAAM,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAU,EAAA;AAC/B,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,UAAU,GAAI,EAAA,CAAA;AACpB,IAAA,MAAM,qBAAqB,GAAI,EAAA,CAAA;AAC/B,IAAM,MAAA,gCAAA,GAAmC,CAAC,SAAc,KAAA;AACtD,MAAA,IAAI,CAAC,SAAW,EAAA;AACd,QAAA,OAAA;AAAA,OACF;AACA,MAAA,kBAAA,CAAmB,KAAM,CAAA,KAAA,CAAM,gBAAmB,GAAA,CAAA,EAAG,UAAU,UAAU,CAAA,EAAA,CAAA,CAAA;AACzE,MAAA,kBAAA,CAAmB,KAAM,CAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,EAAG,UAAU,WAAW,CAAA,EAAA,CAAA,CAAA;AAAA,KACjE,CAAA;AACA,IAAA,KAAA;AAAA,MACE,OAAA;AAAA,MACA,CAAC,MAAW,KAAA;AACV,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAA,OAAA;AAAA,SACF;AACA,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,gCAAA,CAAiC,OAAQ,CAAA,KAAA,CAAM,QAAS,CAAA,KAAA,CAAM,cAAc,CAAC,CAAA,CAAA;AAAA,WAC5E,EAAE,CAAA,CAAA;AAAA,OACP;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AACA,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,eAAiB,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC5F,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAA,KAAA,CAAM,CAA4C,0CAAA,CAAA,CAAA,CAAA;AAClD,QAAA,aAAA,CAAc,QAAQ,IAAM,EAAA,CAAC,EAAE,KAAA,IAAS,CAAM,KAAA;AAC5C,UAAA,KAAA,CAAM,CAAkB,eAAA,EAAA,cAAA,CAAe,CAAC,OAAA,CAAQ,mBAAmB,CAAI,GAAA,QAAA,GAAW,YAAY,CAAC,CAAC,CAAA,kBAAA,EAAqB,cAAe,CAAA,KAAK,CAAC,CAAW,SAAA,CAAA,CAAA,CAAA;AAAA,SACtJ,CAAA,CAAA;AACD,QAAA,KAAA,CAAM,CAAkH,gHAAA,CAAA,CAAA,CAAA;AAAA,OACnH,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,aAAA,CAAc,KAAK,MAAQ,EAAA,QAAA,EAAU,EAAI,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA;AAC7D,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,sEAAsE,CAAA,CAAA;AACnJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs b/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs new file mode 100644 index 0000000000..9e4d09a5c2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs @@ -0,0 +1,92 @@ +import { useSSRContext, defineComponent, ref, computed, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrInterpolate } from 'vue/server-renderer'; +import { _ as _export_sfc, x as useClipboard } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Terminal", + __ssrInlineRender: true, + props: { + content: { + type: [Array, String], + required: true + } + }, + setup(__props) { + const props = __props; + useClipboard(); + const state = ref("init"); + const lines = computed(() => { + if (typeof props.content === "string") { + return [props.content]; + } + return props.content; + }); + return (_ctx, _push, _parent, _attrs) => { + _push(``); + if (unref(state) === "copied") { + _push(`
    Copied!
    `); + } else { + _push(``); + } + _push(`
    Bash
    `); + ssrRenderList(unref(lines), (line) => { + _push(`$${ssrInterpolate(line)}`); + }); + _push(`
    `); + if (unref(state) !== "copied") { + _push(`
    Click to copy
    `); + } else { + _push(``); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Terminal.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-63eb7158"]]); + +export { __nuxt_component_2 as default }; +//# sourceMappingURL=Terminal-4e6973c9.mjs.map diff --git a/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs.map b/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs.map new file mode 100644 index 0000000000..57c0944335 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/Terminal-4e6973c9.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Terminal-4e6973c9.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/Terminal-4e6973c9.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,UAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAA,EAAM,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,MACpB,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAa,YAAA,EAAA,CAAA;AACb,IAAM,MAAA,KAAA,GAAQ,IAAI,MAAM,CAAA,CAAA;AACxB,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAI,IAAA,OAAO,KAAM,CAAA,OAAA,KAAY,QAAU,EAAA;AACrC,QAAO,OAAA,CAAC,MAAM,OAAO,CAAA,CAAA;AAAA,OACvB;AACA,MAAA,OAAO,KAAM,CAAA,OAAA,CAAA;AAAA,KACd,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,cAAe,CAAA,UAAA,CAAW,EAAE,KAAA,EAAO,YAAc,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACzF,MAAI,IAAA,KAAA,CAAM,KAAK,CAAA,KAAM,QAAU,EAAA;AAC7B,QAAA,KAAA,CAAM,CAAyI,uIAAA,CAAA,CAAA,CAAA;AAAA,OAC1I,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,KAAA,CAAM,CAAoQ,kQAAA,CAAA,CAAA,CAAA;AAC1Q,MAAA,aAAA,CAAc,KAAM,CAAA,KAAK,CAAG,EAAA,CAAC,IAAS,KAAA;AACpC,QAAA,KAAA,CAAM,CAAuH,oHAAA,EAAA,cAAA,CAAe,IAAI,CAAC,CAAgB,cAAA,CAAA,CAAA,CAAA;AAAA,OAClK,CAAA,CAAA;AACD,MAAA,KAAA,CAAM,CAAgB,cAAA,CAAA,CAAA,CAAA;AACtB,MAAI,IAAA,KAAA,CAAM,KAAK,CAAA,KAAM,QAAU,EAAA;AAC7B,QAAA,KAAA,CAAM,CAA2D,yDAAA,CAAA,CAAA,CAAA;AAAA,OAC5D,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs b/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs new file mode 100644 index 0000000000..8e4e368292 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs @@ -0,0 +1,61 @@ +import { defineComponent, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; +import { C as usePinceauTheme } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "TokensPlayground", + __ssrInlineRender: true, + setup(__props) { + const { theme } = usePinceauTheme(); + return (_ctx, _push, _parent, _attrs) => { + _push(`
    ${ssrInterpolate(JSON.stringify(unref(theme), null, 2))}
    `); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=TokensPlayground-8362c368.mjs.map diff --git a/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs.map b/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs.map new file mode 100644 index 0000000000..1602f386ee --- /dev/null +++ b/.output/server/chunks/app/_nuxt/TokensPlayground-8362c368.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"TokensPlayground-8362c368.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/TokensPlayground-8362c368.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,kBAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAM,OAAS,EAAA;AACb,IAAM,MAAA,EAAE,KAAM,EAAA,GAAI,eAAgB,EAAA,CAAA;AAClC,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,KAAA,CAAM,CAAO,IAAA,EAAA,cAAA,CAAe,MAAM,CAAC,SAAS,cAAe,CAAA,IAAA,CAAK,SAAU,CAAA,KAAA,CAAM,KAAK,CAAG,EAAA,IAAA,EAAM,CAAC,CAAC,CAAC,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,KACjH,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AACD,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,yEAAyE,CAAA,CAAA;AACtJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs b/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs new file mode 100644 index 0000000000..b4018d366a --- /dev/null +++ b/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs @@ -0,0 +1,138 @@ +import _sfc_main$1 from './NuxtImg-4d4c6866.mjs'; +import { useSSRContext, defineComponent, computed, ref, mergeProps, unref } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrIncludeBooleanAttr } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "VideoPlayer", + __ssrInlineRender: true, + props: { + poster: { + type: String, + default: "" + }, + src: { + type: String, + default: "" + }, + sources: { + type: Array, + default: () => [] + }, + autoplay: { + type: Boolean, + default: false + } + }, + setup(__props) { + const props = __props; + const provider = computed(() => { + if (props.src && props.src.includes("youtube.com/watch")) { + const match = props.src.match(/\?v=([^&]*)/); + return { + name: "youtube", + src: `https://www.youtube-nocookie.com/embed/${(match == null ? void 0 : match[1]) || ""}?autoplay=1`, + poster: props.poster || `https://i3.ytimg.com/vi/${(match == null ? void 0 : match[1]) || ""}/hqdefault.jpg` + }; + } + }); + const loaded = ref(false); + if (!props.src && !props.sources.length) { + throw new Error("VideoPlayer: you need to provide either `src` or `sources` props"); + } + const src = computed(() => { + var _a, _b; + return props.src || ((_b = (_a = props.sources) == null ? void 0 : _a[0]) == null ? void 0 : _b.src) || false; + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtImg = _sfc_main$1; + _push(``); + if (unref(provider) ? unref(provider).poster : __props.poster) { + _push(ssrRenderComponent(_component_NuxtImg, { + src: unref(provider) ? unref(provider).poster : __props.poster + }, null, _parent)); + } else { + _push(``); + } + if (unref(loaded)) { + _push(`
    `); + if (!unref(provider)) { + _push(``); + if (unref(src)) { + _push(``); + } else { + _push(``); + } + _push(``); + ssrRenderList(__props.sources, (source) => { + _push(``); + }); + _push(``); + } else if (unref(provider).name === "youtube") { + _push(``); + } else { + _push(``); + } + _push(`
    `); + } else { + _push(``); + } + if (!unref(loaded)) { + _push(`
    `); + } else { + _push(``); + } + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cfa5f079"]]); + +export { __nuxt_component_3 as default }; +//# sourceMappingURL=VideoPlayer-1ec85efa.mjs.map diff --git a/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs.map b/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs.map new file mode 100644 index 0000000000..55f428a81d --- /dev/null +++ b/.output/server/chunks/app/_nuxt/VideoPlayer-1ec85efa.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"VideoPlayer-1ec85efa.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/VideoPlayer-1ec85efa.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,aAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,IAAI,MAAM,GAAO,IAAA,KAAA,CAAM,GAAI,CAAA,QAAA,CAAS,mBAAmB,CAAG,EAAA;AACxD,QAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAAI,CAAA,KAAA,CAAM,aAAa,CAAA,CAAA;AAC3C,QAAO,OAAA;AAAA,UACL,IAAM,EAAA,SAAA;AAAA,UACN,GAAA,EAAK,2CAA2C,KAAS,IAAA,IAAA,GAAO,SAAS,KAAM,CAAA,CAAC,MAAM,EAAE,CAAA,WAAA,CAAA;AAAA,UACxF,MAAA,EAAQ,KAAM,CAAA,MAAA,IAAU,CAA4B,wBAAA,EAAA,CAAA,KAAA,IAAS,OAAO,KAAS,CAAA,GAAA,KAAA,CAAM,CAAC,CAAA,KAAM,EAAE,CAAA,cAAA,CAAA;AAAA,SAC9F,CAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAA,IAAI,CAAC,KAAM,CAAA,GAAA,IAAO,CAAC,KAAA,CAAM,QAAQ,MAAQ,EAAA;AACvC,MAAM,MAAA,IAAI,MAAM,kEAAkE,CAAA,CAAA;AAAA,KACpF;AACA,IAAM,MAAA,GAAA,GAAM,SAAS,MAAM;AACzB,MAAA,IAAI,EAAI,EAAA,EAAA,CAAA;AACR,MAAA,OAAO,KAAM,CAAA,GAAA,KAAA,CAAS,EAAM,GAAA,CAAA,EAAA,GAAK,MAAM,OAAY,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,CAAC,CAAA,KAAM,IAAO,GAAA,KAAA,CAAA,GAAS,GAAG,GAAQ,CAAA,IAAA,KAAA,CAAA;AAAA,KACzG,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAA,MAAM,kBAAqB,GAAA,WAAA,CAAA;AAC3B,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA;AAAA,QACrC,KAAA,EAAO,CAAC,cAAgB,EAAA,EAAE,QAAQ,KAAM,CAAA,MAAM,GAAG,CAAA;AAAA,OAChD,EAAA,MAAM,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAC9B,MAAI,IAAA,KAAA,CAAM,QAAQ,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAE,CAAA,MAAA,GAAS,QAAQ,MAAQ,EAAA;AAC7D,QAAA,KAAA,CAAM,mBAAmB,kBAAoB,EAAA;AAAA,UAC3C,GAAA,EAAK,MAAM,QAAQ,CAAA,GAAI,MAAM,QAAQ,CAAA,CAAE,SAAS,OAAQ,CAAA,MAAA;AAAA,SAC1D,EAAG,IAAM,EAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OACZ,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAI,IAAA,KAAA,CAAM,MAAM,CAAG,EAAA;AACjB,QAAA,KAAA,CAAM,CAAsC,oCAAA,CAAA,CAAA,CAAA;AAC5C,QAAI,IAAA,CAAC,KAAM,CAAA,QAAQ,CAAG,EAAA;AACpB,UAAA,KAAA,CAAM,SAAS,aAAc,CAAA,QAAA,EAAU,OAAQ,CAAA,MAAM,CAAC,CAAqC,mCAAA,CAAA,CAAA,CAAA;AAC3F,UAAI,IAAA,KAAA,CAAM,GAAG,CAAG,EAAA;AACd,YAAA,KAAA,CAAM,UAAU,aAAc,CAAA,KAAA,EAAO,MAAM,GAAG,CAAC,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAAA,WAC9D,MAAA;AACL,YAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,WACjB;AACA,UAAA,KAAA,CAAM,CAAU,QAAA,CAAA,CAAA,CAAA;AAChB,UAAc,aAAA,CAAA,OAAA,CAAQ,OAAS,EAAA,CAAC,MAAW,KAAA;AACzC,YAAA,KAAA,CAAM,CAAU,OAAA,EAAA,aAAA,CAAc,KAAO,EAAA,MAAA,CAAO,GAAO,IAAA,MAAM,CAAC,CAAA,EAAG,aAAc,CAAA,MAAA,EAAQ,MAAO,CAAA,IAAI,CAAC,CAAmB,iBAAA,CAAA,CAAA,CAAA;AAAA,WACnH,CAAA,CAAA;AACD,UAAA,KAAA,CAAM,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,SACf,MAAA,IAAA,KAAA,CAAM,QAAQ,CAAA,CAAE,SAAS,SAAW,EAAA;AAC7C,UAAA,KAAA,CAAM,CAAiH,8GAAA,EAAA,qBAAA,CAAsB,OAAQ,CAAA,QAAQ,IAAI,WAAc,GAAA,EAAE,CAAG,EAAA,aAAA,CAAc,OAAO,KAAM,CAAA,QAAQ,CAAE,CAAA,GAAG,CAAC,CAA4B,0BAAA,CAAA,CAAA,CAAA;AAAA,SACpP,MAAA;AACL,UAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SACjB;AACA,QAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,OACT,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAI,IAAA,CAAC,KAAM,CAAA,MAAM,CAAG,EAAA;AAClB,QAAA,KAAA,CAAM,CAAkF,gFAAA,CAAA,CAAA,CAAA;AAAA,OACnF,MAAA;AACL,QAAA,KAAA,CAAM,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACjB;AACA,MAAA,KAAA,CAAM,CAAQ,MAAA,CAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,uEAAuE,CAAA,CAAA;AACpJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,kBAAA,+BAAiD,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs b/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs new file mode 100644 index 0000000000..fdee42c3f7 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs @@ -0,0 +1,32 @@ +import { defineComponent, computed, mergeProps, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "VoltaBoard", + __ssrInlineRender: true, + props: { + token: { + type: String, + required: true + } + }, + setup(__props) { + const props = __props; + const src = computed(() => `https://volta.net/embed/${props.token}`); + return (_ctx, _push, _parent, _attrs) => { + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=VoltaBoard-98820156.mjs.map diff --git a/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs.map b/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs.map new file mode 100644 index 0000000000..120e7c18a2 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/VoltaBoard-98820156.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"VoltaBoard-98820156.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/VoltaBoard-98820156.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEA,MAAM,4BAA4C,eAAA,CAAA;AAAA,EAChD,MAAQ,EAAA,YAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,MAAM,QAAS,CAAA,MAAM,CAA2B,wBAAA,EAAA,KAAA,CAAM,KAAK,CAAE,CAAA,CAAA,CAAA;AACnE,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,OAAA,EAAU,eAAe,UAAW,CAAA;AAAA,QACxC,GAAA,EAAK,MAAM,GAAG,CAAA;AAAA,QACd,KAAO,EAAA,QAAA;AAAA,OACN,EAAA,MAAM,CAAC,CAAC,CAAY,UAAA,CAAA,CAAA,CAAA;AAAA,KACzB,CAAA;AAAA,GACF;AACF,CAAC,EAAA;AAED,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,oEAAoE,CAAA,CAAA;AACjJ,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs b/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs new file mode 100644 index 0000000000..64368a18bb --- /dev/null +++ b/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs @@ -0,0 +1,475 @@ +import { O as prefixStorage, P as createStorage, Q as memoryDriver, x as withBase, M as pascalCase, j as joinURL } from '../../nitro/node-server.mjs'; +import { O as createQuery, g as useRuntimeConfig, m as useContentPreview, f as useNuxtApp, I as omit, F as get$1, G as assertArray, H as ensureArray, J as sortList, K as apply, M as withoutKeys, N as withKeys } from '../server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'vue'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +function createMatch(opts = {}) { + const operators = createOperators(match, opts.operators); + function match(item, conditions) { + if (typeof conditions !== "object" || conditions instanceof RegExp) { + return operators.$eq(item, conditions); + } + return Object.keys(conditions || {}).every((key) => { + const condition = conditions[key]; + if (key.startsWith("$") && operators[key]) { + const fn = operators[key]; + return typeof fn === "function" ? fn(item, condition) : false; + } + return match(get$1(item, key), condition); + }); + } + return match; +} +function createOperators(match, operators = {}) { + return { + $match: (item, condition) => match(item, condition), + /** + * Match if item equals condition + **/ + $eq: (item, condition) => condition instanceof RegExp ? condition.test(item) : item === condition, + /** + * Match if item not equals condition + **/ + $ne: (item, condition) => condition instanceof RegExp ? !condition.test(item) : item !== condition, + /** + * Match is condition is false + **/ + $not: (item, condition) => !match(item, condition), + /** + * Match only if all of nested conditions are true + **/ + $and: (item, condition) => { + assertArray(condition, "$and requires an array as condition"); + return condition.every((cond) => match(item, cond)); + }, + /** + * Match if any of nested conditions is true + **/ + $or: (item, condition) => { + assertArray(condition, "$or requires an array as condition"); + return condition.some((cond) => match(item, cond)); + }, + /** + * Match if item is in condition array + **/ + $in: (item, condition) => ensureArray(condition).some( + (cond) => Array.isArray(item) ? match(item, { $contains: cond }) : match(item, cond) + ), + /** + * Match if item contains every condition or math every rule in condition array + **/ + $contains: (item, condition) => { + item = Array.isArray(item) ? item : String(item); + return ensureArray(condition).every((i) => item.includes(i)); + }, + /** + * Ignore case contains + **/ + $icontains: (item, condition) => { + if (typeof condition !== "string") { + throw new TypeError("$icontains requires a string, use $contains instead"); + } + item = String(item).toLocaleLowerCase(); + return ensureArray(condition).every((i) => item.includes(i.toLocaleLowerCase())); + }, + /** + * Match if item contains at least one rule from condition array + */ + $containsAny: (item, condition) => { + assertArray(condition, "$containsAny requires an array as condition"); + item = Array.isArray(item) ? item : String(item); + return condition.some((i) => item.includes(i)); + }, + /** + * Check key existence + */ + $exists: (item, condition) => condition ? typeof item !== "undefined" : typeof item === "undefined", + /** + * Match if type of item equals condition + */ + $type: (item, condition) => typeof item === String(condition), + /** + * Provides regular expression capabilities for pattern matching strings. + */ + $regex: (item, condition) => { + if (!(condition instanceof RegExp)) { + const matched = String(condition).match(/\/(.*)\/([dgimsuy]*)$/); + condition = matched ? new RegExp(matched[1], matched[2] || "") : new RegExp(condition); + } + return condition.test(String(item || "")); + }, + /** + * Check if item is less than condition + */ + $lt: (item, condition) => { + return item < condition; + }, + /** + * Check if item is less than or equal to condition + */ + $lte: (item, condition) => { + return item <= condition; + }, + /** + * Check if item is greater than condition + */ + $gt: (item, condition) => { + return item > condition; + }, + /** + * Check if item is greater than or equal to condition + */ + $gte: (item, condition) => { + return item >= condition; + }, + ...operators || {} + }; +} +function createPipelineFetcher(getContentsList) { + const match = createMatch(); + const surround = (data, { query, before, after }) => { + const matchQuery = typeof query === "string" ? { _path: query } : query; + const index = data.findIndex((item) => match(item, matchQuery)); + before = before != null ? before : 1; + after = after != null ? after : 1; + const slice = new Array(before + after).fill(null, 0); + return index === -1 ? slice : slice.map((_, i) => data[index - before + i + Number(i >= before)] || null); + }; + const matchingPipelines = [ + // Conditions + (state, params) => { + const filtered = state.result.filter((item) => ensureArray(params.where).every((matchQuery) => match(item, matchQuery))); + return { + ...state, + result: filtered, + total: filtered.length + }; + }, + // Sort data + (state, params) => ensureArray(params.sort).forEach((options) => sortList(state.result, options)), + function fetchSurround(state, params, db) { + var _a; + if (params.surround) { + let _surround = surround(((_a = state.result) == null ? void 0 : _a.length) === 1 ? db : state.result, params.surround); + _surround = apply(withoutKeys(params.without))(_surround); + _surround = apply(withKeys(params.only))(_surround); + state.surround = _surround; + } + return state; + } + ]; + const transformingPiples = [ + // Skip first items + (state, params) => { + if (params.skip) { + return { + ...state, + result: state.result.slice(params.skip), + skip: params.skip + }; + } + }, + // Pick first items + (state, params) => { + if (params.limit) { + return { + ...state, + result: state.result.slice(0, params.limit), + limit: params.limit + }; + } + }, + function fetchDirConfig(state, params, db) { + var _a, _b, _c; + if (params.dirConfig) { + const path = ((_a = state.result[0]) == null ? void 0 : _a._path) || ((_c = (_b = params.where) == null ? void 0 : _b.find((w) => w._path)) == null ? void 0 : _c._path); + if (typeof path === "string") { + const dirConfig = db.find((item) => item._path === joinURL(path, "_dir")); + if (dirConfig) { + state.dirConfig = { _path: dirConfig._path, ...withoutKeys(["_"])(dirConfig) }; + } + } + } + return state; + }, + // Remove unwanted fields + (state, params) => ({ + ...state, + result: apply(withoutKeys(params.without))(state.result) + }), + // Select only wanted fields + (state, params) => ({ + ...state, + result: apply(withKeys(params.only))(state.result) + }) + ]; + return async (query) => { + const db = await getContentsList(); + const params = query.params(); + const result1 = { + result: db, + limit: 0, + skip: 0, + total: db.length + }; + const matchedData = matchingPipelines.reduce(($data, pipe) => pipe($data, params, db) || $data, result1); + if (params.count) { + return { + result: matchedData.result.length + }; + } + const result = transformingPiples.reduce(($data, pipe) => pipe($data, params, db) || $data, matchedData); + if (params.first) { + return { + ...omit(["skip", "limit", "total"])(result), + result: result.result[0] + }; + } + return result; + }; +} +function createPipelineFetcherLegacy(getContentsList) { + const _pipelineFetcher = createPipelineFetcher(getContentsList); + return async (query) => { + var _a; + const params = query.params(); + const result = await _pipelineFetcher(query); + if (params.surround) { + return result == null ? void 0 : result.surround; + } + if (result == null ? void 0 : result.dirConfig) { + result.result = { + _path: (_a = result.dirConfig) == null ? void 0 : _a._path, + ...result.result, + _dir: result.dirConfig + }; + } + return result == null ? void 0 : result.result; + }; +} +const generateTitle = (path) => path.split(/[\s-]/g).map(pascalCase).join(" "); +function createNav(contents, configs) { + const { navigation } = useRuntimeConfig().public.content; + const pickNavigationFields = (content) => ({ + ...pick(["title", ...navigation.fields])(content), + ...isObject(content == null ? void 0 : content.navigation) ? content.navigation : {} + }); + const nav = contents.sort((a, b) => a._path.localeCompare(b._path)).reduce((nav2, content) => { + const parts = content._path.substring(1).split("/"); + const idParts = content._id.split(":").slice(1); + const isIndex = !!idParts[idParts.length - 1].match(/([1-9][0-9]*\.)?index.md/g); + const getNavItem = (content2) => ({ + title: content2.title, + _path: content2._path, + _file: content2._file, + children: [], + ...pickNavigationFields(content2), + ...content2._draft ? { _draft: true } : {} + }); + const navItem = getNavItem(content); + if (isIndex) { + const dirConfig = configs[navItem._path]; + if (typeof (dirConfig == null ? void 0 : dirConfig.navigation) !== "undefined" && !(dirConfig == null ? void 0 : dirConfig.navigation)) { + return nav2; + } + if (content._path !== "/") { + const indexItem = getNavItem(content); + navItem.children.push(indexItem); + } + Object.assign( + navItem, + pickNavigationFields(dirConfig) + ); + } + if (parts.length === 1) { + nav2.push(navItem); + return nav2; + } + const siblings = parts.slice(0, -1).reduce((nodes, part, i) => { + const currentPathPart = "/" + parts.slice(0, i + 1).join("/"); + const conf = configs[currentPathPart]; + if (typeof (conf == null ? void 0 : conf.navigation) !== "undefined" && !conf.navigation) { + return []; + } + let parent = nodes.find((n) => n._path === currentPathPart); + if (!parent) { + parent = { + title: generateTitle(part), + _path: currentPathPart, + _file: content._file, + children: [], + ...pickNavigationFields(conf) + }; + nodes.push(parent); + } + return parent.children; + }, nav2); + siblings.push(navItem); + return nav2; + }, []); + return sortAndClear(nav); +} +const collator = new Intl.Collator(void 0, { numeric: true, sensitivity: "base" }); +function sortAndClear(nav) { + var _a; + const sorted = nav.sort((a, b) => collator.compare(a._file, b._file)); + for (const item of sorted) { + if ((_a = item.children) == null ? void 0 : _a.length) { + sortAndClear(item.children); + } else { + delete item.children; + } + delete item._file; + } + return nav; +} +function pick(keys) { + return (obj) => { + obj = obj || {}; + if (keys && keys.length) { + return keys.filter((key) => typeof obj[key] !== "undefined").reduce((newObj, key) => Object.assign(newObj, { [key]: obj[key] }), {}); + } + return obj; + }; +} +function isObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} +const withContentBase = (url) => withBase(url, useRuntimeConfig().public.content.api.baseURL); +const contentStorage = prefixStorage(createStorage({ driver: memoryDriver() }), "@content"); +function createDB(storage) { + async function getItems() { + const keys = new Set(await storage.getKeys("cache:")); + const previewToken = useContentPreview().getPreviewToken(); + if (previewToken) { + const previewMeta = await storage.getItem(`${previewToken}$`).then((data) => data || {}); + if (Array.isArray(previewMeta.ignoreSources)) { + const sources = previewMeta.ignoreSources.map((s) => `cache:${s.trim()}:`); + for (const key of keys) { + if (sources.some((s) => key.startsWith(s))) { + keys.delete(key); + } + } + } + const previewKeys = await storage.getKeys(`${previewToken}:`); + const previewContents = await Promise.all(previewKeys.map((key) => storage.getItem(key))); + for (const pItem of previewContents) { + keys.delete(`cache:${pItem._id}`); + if (!pItem.__deleted) { + keys.add(`${previewToken}:${pItem._id}`); + } + } + } + const items = await Promise.all(Array.from(keys).map((key) => storage.getItem(key))); + return items; + } + return { + storage, + fetch: createPipelineFetcherLegacy(getItems), + query: (query) => createQuery(createPipelineFetcherLegacy(getItems), { + initialParams: query, + legacy: true + }) + }; +} +let contentDatabase = null; +let contentDatabaseInitPromise = null; +async function useContentDatabase() { + if (contentDatabaseInitPromise) { + await contentDatabaseInitPromise; + } else if (!contentDatabase) { + contentDatabaseInitPromise = initContentDatabase(); + contentDatabase = await contentDatabaseInitPromise; + } + return contentDatabase; +} +async function initContentDatabase() { + const nuxtApp = useNuxtApp(); + const { content } = useRuntimeConfig().public; + const _contentDatabase = createDB(contentStorage); + const integrity = await _contentDatabase.storage.getItem("integrity"); + if (content.integrity !== +(integrity || 0)) { + const { contents, navigation } = await $fetch(withContentBase(content.integrity ? `cache.${content.integrity}.json` : "cache.json")); + await Promise.all( + contents.map((content2) => _contentDatabase.storage.setItem(`cache:${content2._id}`, content2)) + ); + await _contentDatabase.storage.setItem("navigation", navigation); + await _contentDatabase.storage.setItem("integrity", content.integrity); + } + await nuxtApp.callHook("content:storage", _contentDatabase.storage); + return _contentDatabase; +} +async function generateNavigation(query) { + const db = await useContentDatabase(); + if (!useContentPreview().getPreviewToken() && Object.keys(query || {}).length === 0) { + return db.storage.getItem("navigation"); + } + const contents = await db.query(query).where({ + /** + * Partial contents are not included in the navigation + * A partial content is a content that has `_` prefix in its path + */ + _partial: false, + /** + * Exclude any pages which have opted out of navigation via frontmatter. + */ + navigation: { + $ne: false + } + }).find(); + const dirConfigs = await db.query().where({ _path: /\/_dir$/i, _partial: true }).find(); + const configs = dirConfigs.reduce((configs2, conf) => { + var _a; + if (((_a = conf.title) == null ? void 0 : _a.toLowerCase()) === "dir") { + conf.title = void 0; + } + const key = conf._path.split("/").slice(0, -1).join("/") || "/"; + configs2[key] = { + ...conf, + // Extract meta from body. (non MD files) + ...conf.body + }; + return configs2; + }, {}); + return createNav(contents, configs); +} + +export { contentStorage, createDB, generateNavigation, useContentDatabase }; +//# sourceMappingURL=client-db-bb78acf6.mjs.map diff --git a/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs.map b/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs.map new file mode 100644 index 0000000000..d508ec091b --- /dev/null +++ b/.output/server/chunks/app/_nuxt/client-db-bb78acf6.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"client-db-bb78acf6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/client-db-bb78acf6.js"],"sourcesContent":null,"names":["get"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs b/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs new file mode 100644 index 0000000000..7af8310077 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs @@ -0,0 +1,44 @@ +import { nextTick } from 'vue'; + +function usePinceauRuntimeDebug(tokensHelperConfig) { + let nextTickGroup = []; + let nextTickCalled = false; + const TOKEN_NOT_FOUND_MESSAGE = (path, options) => { + const { loc } = options; + const message = [ + `\u{1F511} ${path}` + ]; + if (loc == null ? void 0 : loc.file) { + message.push(""); + message.push(`\u{1F517} ${loc.file}`); + } + if (loc == null ? void 0 : loc.type) { + message.push(""); + message.push(`\u2753 Missing token inside a ${loc.type === "v" ? "variant" : "computed style or CSS prop"}.`); + } + nextTickGroup.push(message.join("\n")); + if (!nextTickCalled) { + nextTick(() => { + const title = "\u{1F58C}\uFE0F Pinceau `runtime` encountered some errors!"; + { + console.log(title); + } + nextTickGroup.forEach((m) => { + { + console.log("\n"); + } + console.log(m); + { + console.log("\n"); + } + }); + console.log("\u203C\uFE0F This warning will be hidden from production and can be disabled using `dev: false` option."); + }); + nextTickCalled = true; + } + }; + tokensHelperConfig.onNotFound = TOKEN_NOT_FOUND_MESSAGE; +} + +export { usePinceauRuntimeDebug }; +//# sourceMappingURL=debug-43adc91a.mjs.map diff --git a/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs.map b/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs.map new file mode 100644 index 0000000000..01e7fb03c3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/debug-43adc91a.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"debug-43adc91a.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/debug-43adc91a.js"],"sourcesContent":null,"names":[],"mappings":";;AACA,SAAS,uBAAuB,kBAAoB,EAAA;AAClD,EAAA,IAAI,gBAAgB,EAAC,CAAA;AACrB,EAAA,IAAI,cAAiB,GAAA,KAAA,CAAA;AACrB,EAAM,MAAA,uBAAA,GAA0B,CAAC,IAAA,EAAM,OAAY,KAAA;AACjD,IAAM,MAAA,EAAE,KAAQ,GAAA,OAAA,CAAA;AAChB,IAAA,MAAM,OAAU,GAAA;AAAA,MACd,aAAM,IAAI,CAAA,CAAA;AAAA,KACZ,CAAA;AACA,IAAA,IAAI,GAAO,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAM,EAAA;AACnC,MAAA,OAAA,CAAQ,KAAK,EAAE,CAAA,CAAA;AACf,MAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,UAAA,EAAM,GAAI,CAAA,IAAI,CAAE,CAAA,CAAA,CAAA;AAAA,KAC/B;AACA,IAAA,IAAI,GAAO,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAM,EAAA;AACnC,MAAA,OAAA,CAAQ,KAAK,EAAE,CAAA,CAAA;AACf,MAAA,OAAA,CAAQ,KAAK,CAA4B,8BAAA,EAAA,GAAA,CAAI,SAAS,GAAM,GAAA,SAAA,GAAY,4BAA4B,CAAG,CAAA,CAAA,CAAA,CAAA;AAAA,KACzG;AACA,IAAA,aAAA,CAAc,IAAK,CAAA,OAAA,CAAQ,IAAK,CAAA,IAAI,CAAC,CAAA,CAAA;AACrC,IAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,MAAM,KAAQ,GAAA,4DAAA,CAAA;AACd,QAAA;AACE,UAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;AAAA,SACnB;AACA,QAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AAC3B,UAAA;AACE,YAAA,OAAA,CAAQ,IAAI,IAAI,CAAA,CAAA;AAAA,WAClB;AACA,UAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AACb,UAAA;AACE,YAAA,OAAA,CAAQ,IAAI,IAAI,CAAA,CAAA;AAAA,WAClB;AAAA,SACD,CAAA,CAAA;AACD,QAAA,OAAA,CAAQ,IAAI,yGAA+F,CAAA,CAAA;AAAA,OAC5G,CAAA,CAAA;AACD,MAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,KACnB;AAAA,GACF,CAAA;AACA,EAAA,kBAAA,CAAmB,UAAa,GAAA,uBAAA,CAAA;AAClC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/default-dedac01e.mjs b/.output/server/chunks/app/_nuxt/default-dedac01e.mjs new file mode 100644 index 0000000000..ef60549009 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/default-dedac01e.mjs @@ -0,0 +1,80 @@ +import __nuxt_component_0 from './DocsPageLayout-f4e17515.mjs'; +import { withCtx, renderSlot, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from '../server.mjs'; +import './DocsAside-fd029efe.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './Alert-e89bb36c.mjs'; +import './ssrSlot-5d5c6395.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './ProseCodeInline-3a7a9d5f.mjs'; +import './DocsPageBottom-154201e5.mjs'; +import './EditOnLink-ed7c39ad.mjs'; +import './ProseA-d15a6354.mjs'; +import './DocsPrevNext-f4da19df.mjs'; +import './DocsToc-132da242.mjs'; +import './DocsTocLinks-9dbdb54e.mjs'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + const _component_DocsPageLayout = __nuxt_component_0; + _push(ssrRenderComponent(_component_DocsPageLayout, _attrs, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + } else { + return [ + renderSlot(_ctx.$slots, "default") + ]; + } + }), + _: 3 + }, _parent)); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/layouts/default.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const _default = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { _default as default }; +//# sourceMappingURL=default-dedac01e.mjs.map diff --git a/.output/server/chunks/app/_nuxt/default-dedac01e.mjs.map b/.output/server/chunks/app/_nuxt/default-dedac01e.mjs.map new file mode 100644 index 0000000000..2cbdc40a7f --- /dev/null +++ b/.output/server/chunks/app/_nuxt/default-dedac01e.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"default-dedac01e.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/default-dedac01e.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,YAAY,EAAC,CAAA;AACnB,SAAS,cAAe,CAAA,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA;AACpD,EAAA,MAAM,yBAA4B,GAAA,kBAAA,CAAA;AAClC,EAAM,KAAA,CAAA,kBAAA,CAAmB,2BAA2B,MAAQ,EAAA;AAAA,IAC1D,SAAS,OAAQ,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,UAAU,QAAa,KAAA;AAClD,MAAA,IAAI,MAAQ,EAAA;AACV,QAAc,aAAA,CAAA,IAAA,CAAK,QAAQ,SAAW,EAAA,IAAI,IAAM,EAAA,MAAA,EAAQ,UAAU,QAAQ,CAAA,CAAA;AAAA,OACrE,MAAA;AACL,QAAO,OAAA;AAAA,UACL,UAAA,CAAW,IAAK,CAAA,MAAA,EAAQ,SAAS,CAAA;AAAA,SACnC,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAAA,IACD,CAAG,EAAA,CAAA;AAAA,GACL,EAAG,OAAO,CAAC,CAAA,CAAA;AACb,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,qDAAqD,CAAA,CAAA;AAClI,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs b/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs new file mode 100644 index 0000000000..9bfbc0f29e --- /dev/null +++ b/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs @@ -0,0 +1,220 @@ +import { defineComponent, mergeProps, unref, withCtx, createVNode, openBlock, createBlock, useSSRContext, inject, computed, ref, h, Suspense, nextTick, Transition, provide } from 'vue'; +import { g as useRuntimeConfig, h as useContent, i as useRequestEvent, j as useContentHead, P as PageRouteSymbol, b as useRoute, l as layouts, d as appLayoutTransition, e as _wrapIf, L as LayoutMetaSymbol, f as useNuxtApp } from '../server.mjs'; +import { useRoute as useRoute$1 } from 'vue-router'; +import _sfc_main$1 from './ContentRenderer-fb4f700e.mjs'; +import _sfc_main$2 from './DocumentDrivenEmpty-e7fcdb87.mjs'; +import __nuxt_component_3 from './DocumentDrivenNotFound-341dd3ee.mjs'; +import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; +import './ContentRendererMarkdown-ebb4dffb.mjs'; +import 'property-information'; +import './ButtonLink-8e56d417.mjs'; +import './MDCSlot-b6f8d3a7.mjs'; +import './ssrSlot-5d5c6395.mjs'; + +const LayoutLoader = /* @__PURE__ */ defineComponent({ + name: "LayoutLoader", + inheritAttrs: false, + props: { + name: String, + layoutProps: Object + }, + async setup(props, context) { + const LayoutComponent = await layouts[props.name]().then((r) => r.default || r); + return () => h(LayoutComponent, props.layoutProps, context.slots); + } +}); +const __nuxt_component_0 = /* @__PURE__ */ defineComponent({ + name: "NuxtLayout", + inheritAttrs: false, + props: { + name: { + type: [String, Boolean, Object], + default: null + } + }, + setup(props, context) { + const nuxtApp = useNuxtApp(); + const injectedRoute = inject(PageRouteSymbol); + const route = injectedRoute === useRoute() ? useRoute$1() : injectedRoute; + const layout = computed(() => { + var _a, _b; + return (_b = (_a = unref(props.name)) != null ? _a : route.meta.layout) != null ? _b : "default"; + }); + const layoutRef = ref(); + context.expose({ layoutRef }); + const done = nuxtApp.deferHydration(); + return () => { + var _a; + const hasLayout = layout.value && layout.value in layouts; + const transitionProps = (_a = route.meta.layoutTransition) != null ? _a : appLayoutTransition; + return _wrapIf(Transition, hasLayout && transitionProps, { + default: () => h(Suspense, { suspensible: true, onResolve: () => { + nextTick(done); + } }, { + default: () => h( + // @ts-expect-error seems to be an issue in vue types + LayoutProvider, + { + layoutProps: mergeProps(context.attrs, { ref: layoutRef }), + key: layout.value, + name: layout.value, + shouldProvide: !props.name, + hasTransition: !!transitionProps + }, + context.slots + ) + }) + }).default(); + }; + } +}); +const LayoutProvider = /* @__PURE__ */ defineComponent({ + name: "NuxtLayoutProvider", + inheritAttrs: false, + props: { + name: { + type: [String, Boolean] + }, + layoutProps: { + type: Object + }, + hasTransition: { + type: Boolean + }, + shouldProvide: { + type: Boolean + } + }, + setup(props, context) { + const name = props.name; + if (props.shouldProvide) { + provide(LayoutMetaSymbol, { + isCurrent: (route) => { + var _a; + return name === ((_a = route.meta.layout) != null ? _a : "default"); + } + }); + } + return () => { + var _a, _b; + if (!name || typeof name === "string" && !(name in layouts)) { + return (_b = (_a = context.slots).default) == null ? void 0 : _b.call(_a); + } + return h( + // @ts-expect-error seems to be an issue in vue types + LayoutLoader, + { key: name, layoutProps: props.layoutProps, name }, + context.slots + ); + }; + } +}); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "document-driven", + __ssrInlineRender: true, + setup(__props) { + const { contentHead } = useRuntimeConfig().public.content; + const { page, layout } = useContent(); + if (!page.value && true) { + const event = useRequestEvent(); + event.res.statusCode = 404; + } + if (contentHead) { + useContentHead(page); + } + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLayout = __nuxt_component_0; + const _component_ContentRenderer = _sfc_main$1; + const _component_DocumentDrivenEmpty = _sfc_main$2; + const _component_DocumentDrivenNotFound = __nuxt_component_3; + _push(``); + _push(ssrRenderComponent(_component_NuxtLayout, { + name: unref(layout) || "default" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (unref(page)) { + _push2(ssrRenderComponent(_component_ContentRenderer, { + key: unref(page)._id, + value: unref(page) + }, { + empty: withCtx(({ value }, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(ssrRenderComponent(_component_DocumentDrivenEmpty, { value }, null, _parent3, _scopeId2)); + } else { + return [ + createVNode(_component_DocumentDrivenEmpty, { value }, null, 8, ["value"]) + ]; + } + }), + _: 1 + }, _parent2, _scopeId)); + } else { + _push2(ssrRenderComponent(_component_DocumentDrivenNotFound, null, null, _parent2, _scopeId)); + } + } else { + return [ + unref(page) ? (openBlock(), createBlock(_component_ContentRenderer, { + key: unref(page)._id, + value: unref(page) + }, { + empty: withCtx(({ value }) => [ + createVNode(_component_DocumentDrivenEmpty, { value }, null, 8, ["value"]) + ]), + _: 1 + }, 8, ["value"])) : (openBlock(), createBlock(_component_DocumentDrivenNotFound, { key: 1 })) + ]; + } + }), + _: 1 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/content/dist/runtime/pages/document-driven.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=document-driven-8d5c0225.mjs.map diff --git a/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs.map b/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs.map new file mode 100644 index 0000000000..8903efced3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/document-driven-8d5c0225.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"document-driven-8d5c0225.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/document-driven-8d5c0225.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs b/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs new file mode 100644 index 0000000000..4b41756734 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs @@ -0,0 +1,114 @@ +import { _ as _export_sfc, u as useHead, a as __nuxt_component_0$6 } from '../server.mjs'; +import { mergeProps, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = { + __name: "error-404", + __ssrInlineRender: true, + props: { + appName: { + type: String, + default: "Nuxt" + }, + version: { + type: String, + default: "" + }, + statusCode: { + type: Number, + default: 404 + }, + statusMessage: { + type: String, + default: "Not Found" + }, + description: { + type: String, + default: "Sorry, the page you are looking for could not be found." + }, + backHome: { + type: String, + default: "Go back home" + } + }, + setup(__props) { + const props = __props; + useHead({ + title: `${props.statusCode} - ${props.statusMessage} | ${props.appName}`, + script: [], + style: [ + { + children: `*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}` + } + ] + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + _push(`

    ${ssrInterpolate(__props.statusCode)}

    ${ssrInterpolate(__props.description)}

    `); + _push(ssrRenderComponent(_component_NuxtLink, { + to: "/", + class: "gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`${ssrInterpolate(__props.backHome)}`); + } else { + return [ + createTextVNode(toDisplayString(__props.backHome), 1) + ]; + } + }), + _: 1 + }, _parent)); + _push(`
    `); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/ui-templates/dist/templates/error-404.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ccd3db62"]]); + +export { error404 as default }; +//# sourceMappingURL=error-404-f35a2418.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs.map b/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs.map new file mode 100644 index 0000000000..51e074ff79 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-404-f35a2418.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-404-f35a2418.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-404-f35a2418.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/error-500-04206157.mjs b/.output/server/chunks/app/_nuxt/error-500-04206157.mjs new file mode 100644 index 0000000000..3d5edfaae0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-04206157.mjs @@ -0,0 +1,93 @@ +import { _ as _export_sfc, u as useHead } from '../server.mjs'; +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = { + __name: "error-500", + __ssrInlineRender: true, + props: { + appName: { + type: String, + default: "Nuxt" + }, + version: { + type: String, + default: "" + }, + statusCode: { + type: Number, + default: 500 + }, + statusMessage: { + type: String, + default: "Server error" + }, + description: { + type: String, + default: "This page is temporarily unavailable." + } + }, + setup(__props) { + const props = __props; + useHead({ + title: `${props.statusCode} - ${props.statusMessage} | ${props.appName}`, + script: [], + style: [ + { + children: `*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}` + } + ] + }); + return (_ctx, _push, _parent, _attrs) => { + _push(`

    ${ssrInterpolate(__props.statusCode)}

    ${ssrInterpolate(__props.description)}

    `); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt/ui-templates/dist/templates/error-500.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-df79c84d"]]); + +export { error500 as default }; +//# sourceMappingURL=error-500-04206157.mjs.map diff --git a/.output/server/chunks/app/_nuxt/error-500-04206157.mjs.map b/.output/server/chunks/app/_nuxt/error-500-04206157.mjs.map new file mode 100644 index 0000000000..b6c18b73a3 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/error-500-04206157.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500-04206157.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/error-500-04206157.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,SAAY,GAAA;AAAA,EAChB,MAAQ,EAAA,WAAA;AAAA,EACR,iBAAmB,EAAA,IAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,GAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,uCAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,MAAM,OAAS,EAAA;AACb,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAQ,OAAA,CAAA;AAAA,MACN,KAAA,EAAO,GAAG,KAAM,CAAA,UAAU,MAAM,KAAM,CAAA,aAAa,CAAM,GAAA,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MACtE,QAAQ,EAAC;AAAA,MACT,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,CAAA,uuBAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,MAAW,KAAA;AACvC,MAAM,KAAA,CAAA,CAAA,IAAA,EAAO,eAAe,UAAW,CAAA,EAAE,OAAO,gIAAiI,EAAA,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAe,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAQ,CAAA,WAAW,CAAC,CAAkB,gBAAA,CAAA,CAAA,CAAA;AAAA,KACxlB,CAAA;AAAA,GACF;AACF,CAAA,CAAA;AACA,MAAM,aAAa,SAAU,CAAA,KAAA,CAAA;AAC7B,SAAU,CAAA,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChC,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAC,CAAA,UAAA,CAAW,YAAY,UAAW,CAAA,OAAA,uBAA8B,GAAI,EAAA,CAAA,EAAI,IAAI,8DAA8D,CAAA,CAAA;AAC3I,EAAA,OAAO,UAAa,GAAA,UAAA,CAAW,KAAO,EAAA,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAC/C,CAAA,CAAA;AACM,MAAA,QAAA,+BAAuC,SAAW,EAAA,CAAC,CAAC,WAAa,EAAA,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs b/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs new file mode 100644 index 0000000000..b02e15b7c0 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs @@ -0,0 +1,68 @@ +import { defineComponent, createVNode } from 'vue'; +import { c as createError } from '../server.mjs'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import 'vue/server-renderer'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const components_islands = {}; +const islandComponents = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: components_islands +}); +const islandRenderer = /* @__PURE__ */ defineComponent({ + props: { + context: { + type: Object, + required: true + } + }, + setup(props) { + const component = islandComponents[props.context.name]; + if (!component) { + throw createError({ + statusCode: 404, + statusMessage: `Island component not found: ${props.context.name}` + }); + } + return () => createVNode(component || "span", { ...props.context.props, "nuxt-ssr-component-uid": "" }); + } +}); + +export { islandRenderer as default }; +//# sourceMappingURL=island-renderer-3439d61d.mjs.map diff --git a/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs.map b/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs.map new file mode 100644 index 0000000000..44dd8cb842 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/island-renderer-3439d61d.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"island-renderer-3439d61d.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/island-renderer-3439d61d.js"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,qBAAqB,EAAC,CAAA;AAC5B,MAAM,gBAAA,0BAA0C,MAAO,CAAA;AAAA,EACrD,SAAW,EAAA,IAAA;AAAA,EACX,OAAS,EAAA,kBAAA;AACX,CAAC,CAAA,CAAA;AACD,MAAM,iCAAiD,eAAA,CAAA;AAAA,EACrD,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,SAAY,GAAA,gBAAA,CAAiB,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACrD,IAAA,IAAI,CAAC,SAAW,EAAA;AACd,MAAA,MAAM,WAAY,CAAA;AAAA,QAChB,UAAY,EAAA,GAAA;AAAA,QACZ,aAAe,EAAA,CAAA,4BAAA,EAA+B,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACjE,CAAA,CAAA;AAAA,KACH;AACA,IAAO,OAAA,MAAM,WAAY,CAAA,SAAA,IAAa,MAAQ,EAAA,EAAE,GAAG,KAAA,CAAM,OAAQ,CAAA,KAAA,EAAO,wBAA0B,EAAA,EAAA,EAAI,CAAA,CAAA;AAAA,GACxG;AACF,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/page-d529b072.mjs b/.output/server/chunks/app/_nuxt/page-d529b072.mjs new file mode 100644 index 0000000000..b09c81cca1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/page-d529b072.mjs @@ -0,0 +1,91 @@ +import { _ as _export_sfc, p as useDocus, u as useHead, t as __nuxt_component_0$5 } from '../server.mjs'; +import { useSSRContext, defineComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; +import '../../nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +import 'unhead'; +import '@unhead/shared'; +import 'vue-router'; +import 'nanoid'; +import '@iconify/vue/dist/offline'; +import '@iconify/vue'; +import '@vueuse/integrations/useFuse'; +import '@vueuse/integrations/useFocusTrap'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "page", + __ssrInlineRender: true, + setup(__props) { + const { config } = useDocus(); + useHead({ + link: { + rel: "search", + type: "application/opensearchdescription+xml", + href: "opensearch.xml" + } + }); + return (_ctx, _push, _parent, _attrs) => { + var _a, _b, _c, _d; + const _component_Container = __nuxt_component_0$5; + _push(``); + _push(ssrRenderComponent(_component_Container, { + fluid: (_b = (_a = unref(config)) == null ? void 0 : _a.main) == null ? void 0 : _b.fluid, + padded: (_d = (_c = unref(config)) == null ? void 0 : _c.main) == null ? void 0 : _d.padded + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
    `); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + _push2(`
    `); + } else { + return [ + createVNode("article", null, [ + renderSlot(_ctx.$slots, "default", {}, void 0, true) + ]) + ]; + } + }), + _: 3 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/layouts/page.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const page = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-393382c9"]]); + +export { page as default }; +//# sourceMappingURL=page-d529b072.mjs.map diff --git a/.output/server/chunks/app/_nuxt/page-d529b072.mjs.map b/.output/server/chunks/app/_nuxt/page-d529b072.mjs.map new file mode 100644 index 0000000000..329575ce29 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/page-d529b072.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"page-d529b072.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/page-d529b072.js"],"sourcesContent":null,"names":["__nuxt_component_0"],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs b/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs new file mode 100644 index 0000000000..efba2f12d9 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs @@ -0,0 +1,12 @@ +import { f as flatUnwrap } from './MDCSlot-b6f8d3a7.mjs'; +import { ssrRenderSlot as ssrRenderSlot$1 } from 'vue/server-renderer'; + +const ssrRenderSlot = (slots, name, props, fallbackRenderFn, push, parentComponent, slotScopeId) => { + if (slots[name]) { + return ssrRenderSlot$1({ ...slots, [name]: () => flatUnwrap(slots[name](), props == null ? void 0 : props.unwrap) }, name, props, fallbackRenderFn, push, parentComponent, slotScopeId); + } + return ssrRenderSlot$1(slots, name, props, fallbackRenderFn, push, parentComponent, slotScopeId); +}; + +export { ssrRenderSlot as s }; +//# sourceMappingURL=ssrSlot-5d5c6395.mjs.map diff --git a/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs.map b/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs.map new file mode 100644 index 0000000000..167a0e37a1 --- /dev/null +++ b/.output/server/chunks/app/_nuxt/ssrSlot-5d5c6395.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ssrSlot-5d5c6395.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/ssrSlot-5d5c6395.js"],"sourcesContent":null,"names":[],"mappings":";;;AAEM,MAAA,aAAA,GAAgB,CAAC,KAAO,EAAA,IAAA,EAAM,OAAO,gBAAkB,EAAA,IAAA,EAAM,iBAAiB,WAAgB,KAAA;AAClG,EAAI,IAAA,KAAA,CAAM,IAAI,CAAG,EAAA;AACf,IAAO,OAAA,eAAA,CAAgB,EAAE,GAAG,KAAO,EAAA,CAAC,IAAI,GAAG,MAAM,UAAW,CAAA,KAAA,CAAM,IAAI,CAAA,IAAK,KAAS,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,KAAA,CAAM,MAAM,CAAA,EAAK,EAAA,IAAA,EAAM,KAAO,EAAA,gBAAA,EAAkB,IAAM,EAAA,eAAA,EAAiB,WAAW,CAAA,CAAA;AAAA,GACxL;AACA,EAAA,OAAO,gBAAgB,KAAO,EAAA,IAAA,EAAM,OAAO,gBAAkB,EAAA,IAAA,EAAM,iBAAiB,WAAW,CAAA,CAAA;AACjG;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/app/client.manifest.mjs b/.output/server/chunks/app/client.manifest.mjs new file mode 100644 index 0000000000..50a0e74ca0 --- /dev/null +++ b/.output/server/chunks/app/client.manifest.mjs @@ -0,0 +1,2197 @@ +const client_manifest = { + "_ComponentPlaygroundSlots.vue.181ed5b3.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundSlots.vue.181ed5b3.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_ComponentPlaygroundTokens.vue.4efbe41a.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundTokens.vue.4efbe41a.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_ContentRendererMarkdown.vue.41c2c305.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentRendererMarkdown.vue.41c2c305.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_EditOnLink.vue.c0346b4a.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "EditOnLink.vue.c0346b4a.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_MDCSlot.44237027.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "MDCSlot.44237027.js", + "imports": [ + "_node.676c5e99.js", + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_NuxtImg.vue.aab88a57.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "NuxtImg.vue.aab88a57.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "_node.676c5e99.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "node.676c5e99.js" + }, + "_slot.51812f31.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "slot.51812f31.js", + "imports": [ + "_node.676c5e99.js", + "node_modules/nuxt/dist/app/entry.js" + ] + }, + "node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocumentDrivenNotFound.7238633c.css", + "src": "node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.css" + }, + "node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocumentDrivenNotFound.7238633c.css" + ], + "file": "DocumentDrivenNotFound.2e5af98f.js", + "imports": [ + "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue", + "node_modules/nuxt/dist/app/entry.js", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue" + }, + "DocumentDrivenNotFound.7238633c.css": { + "file": "DocumentDrivenNotFound.7238633c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/app/Ellipsis.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Ellipsis.7a0b54f8.css", + "src": "node_modules/@nuxt-themes/docus/components/app/Ellipsis.css" + }, + "node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Ellipsis.7a0b54f8.css" + ], + "file": "Ellipsis.9de49135.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue" + }, + "Ellipsis.7a0b54f8.css": { + "file": "Ellipsis.7a0b54f8.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsAside.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsAside.7397caed.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsAside.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsAside.7397caed.css" + ], + "file": "DocsAside.42681b3c.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue" + }, + "DocsAside.7397caed.css": { + "file": "DocsAside.7397caed.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsPageBottom.9f7ccbf0.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsPageBottom.9f7ccbf0.css" + ], + "file": "DocsPageBottom.0b5ac2bf.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt-themes/typography/components/global/ProseA.vue", + "_EditOnLink.vue.c0346b4a.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue" + }, + "DocsPageBottom.9f7ccbf0.css": { + "file": "DocsPageBottom.9f7ccbf0.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsPageLayout.2ba2acb9.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsPageLayout.2ba2acb9.css" + ], + "file": "DocsPageLayout.6115c235.js", + "imports": [ + "node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/elements/components/globals/Alert.vue", + "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue", + "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue", + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue", + "_slot.51812f31.js", + "_node.676c5e99.js", + "node_modules/@nuxt-themes/typography/components/global/ProseA.vue", + "_EditOnLink.vue.c0346b4a.js", + "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue" + }, + "DocsPageLayout.2ba2acb9.css": { + "file": "DocsPageLayout.2ba2acb9.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsPrevNext.0d80e373.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsPrevNext.0d80e373.css" + ], + "file": "DocsPrevNext.2f099473.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue" + }, + "DocsPrevNext.0d80e373.css": { + "file": "DocsPrevNext.0d80e373.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsToc.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsToc.855ff635.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsToc.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsToc.855ff635.css" + ], + "file": "DocsToc.c4eb6326.js", + "imports": [ + "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue" + }, + "DocsToc.855ff635.css": { + "file": "DocsToc.855ff635.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "DocsTocLinks.310b9647.css", + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.css" + }, + "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "DocsTocLinks.310b9647.css" + ], + "file": "DocsTocLinks.d6043a0c.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue" + }, + "DocsTocLinks.310b9647.css": { + "file": "DocsTocLinks.310b9647.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "EditOnLink.81158194.js", + "imports": [ + "_EditOnLink.vue.c0346b4a.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue" + }, + "node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "SourceLink.18b01e12.js", + "imports": [ + "node_modules/@nuxt-themes/typography/components/global/ProseP.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue" + }, + "node_modules/@nuxt-themes/docus/layouts/default.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "default.7ccbd342.js", + "imports": [ + "node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue", + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/elements/components/globals/Alert.vue", + "_slot.51812f31.js", + "_node.676c5e99.js", + "node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseA.vue", + "_EditOnLink.vue.c0346b4a.js", + "node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue", + "node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue", + "node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/layouts/default.vue" + }, + "node_modules/@nuxt-themes/docus/layouts/page.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "page.41b64923.css", + "src": "node_modules/@nuxt-themes/docus/layouts/page.css" + }, + "node_modules/@nuxt-themes/docus/layouts/page.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "page.41b64923.css" + ], + "file": "page.5c669c5e.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/docus/layouts/page.vue" + }, + "page.41b64923.css": { + "file": "page.41b64923.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/Alert.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Alert.408d0512.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/Alert.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/Alert.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Alert.408d0512.css" + ], + "file": "Alert.5d2c733c.js", + "imports": [ + "_slot.51812f31.js", + "node_modules/nuxt/dist/app/entry.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Alert.vue" + }, + "Alert.408d0512.css": { + "file": "Alert.408d0512.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/Badge.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Badge.bd8fb886.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/Badge.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/Badge.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Badge.bd8fb886.css" + ], + "file": "Badge.78c87494.js", + "imports": [ + "_slot.51812f31.js", + "node_modules/nuxt/dist/app/entry.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Badge.vue" + }, + "Badge.bd8fb886.css": { + "file": "Badge.bd8fb886.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ButtonLink.c4905621.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ButtonLink.c4905621.css" + ], + "file": "ButtonLink.23e0d758.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue" + }, + "ButtonLink.c4905621.css": { + "file": "ButtonLink.c4905621.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/Callout.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Callout.c1f75b95.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/Callout.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/Callout.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Callout.c1f75b95.css" + ], + "file": "Callout.fd7477fb.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Callout.vue" + }, + "Callout.c1f75b95.css": { + "file": "Callout.c1f75b95.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/CodeBlock.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "CodeBlock.e43dab4c.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/CodeBlock.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "CodeBlock.e43dab4c.css" + ], + "file": "CodeBlock.8933957c.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue" + }, + "CodeBlock.e43dab4c.css": { + "file": "CodeBlock.e43dab4c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/CodeGroup.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "CodeGroup.eba43c0e.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/CodeGroup.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "CodeGroup.eba43c0e.css" + ], + "file": "CodeGroup.84e49b07.js", + "imports": [ + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue" + }, + "CodeGroup.eba43c0e.css": { + "file": "CodeGroup.eba43c0e.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "CopyButton.f7d2fa81.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue" + }, + "node_modules/@nuxt-themes/elements/components/globals/List.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "List.e98a0c25.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/List.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/List.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "List.e98a0c25.css" + ], + "file": "List.8aa226e2.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "_MDCSlot.44237027.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/List.vue" + }, + "List.e98a0c25.css": { + "file": "List.e98a0c25.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "NuxtImg.c84b30c3.js", + "imports": [ + "_NuxtImg.vue.aab88a57.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue" + }, + "node_modules/@nuxt-themes/elements/components/globals/Props.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "Props.3df956ed.js", + "imports": [ + "node_modules/@nuxt-themes/typography/components/global/ProseTh.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseTr.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseThead.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseTd.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseTable.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Props.vue" + }, + "node_modules/@nuxt-themes/elements/components/globals/Sandbox.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Sandbox.cca703cd.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/Sandbox.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Sandbox.cca703cd.css" + ], + "file": "Sandbox.786aacf2.js", + "imports": [ + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue" + }, + "Sandbox.cca703cd.css": { + "file": "Sandbox.cca703cd.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "TabsHeader.56d3bbc7.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "TabsHeader.56d3bbc7.css" + ], + "file": "TabsHeader.9f8ec2e7.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue" + }, + "TabsHeader.56d3bbc7.css": { + "file": "TabsHeader.56d3bbc7.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/Terminal.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Terminal.54103379.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/Terminal.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/Terminal.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Terminal.54103379.css" + ], + "file": "Terminal.ab57a6bc.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/Terminal.vue" + }, + "Terminal.54103379.css": { + "file": "Terminal.54103379.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "VideoPlayer.afedae8c.css", + "src": "node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.css" + }, + "node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "VideoPlayer.afedae8c.css" + ], + "file": "VideoPlayer.0721ce38.js", + "imports": [ + "_NuxtImg.vue.aab88a57.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue" + }, + "VideoPlayer.afedae8c.css": { + "file": "VideoPlayer.afedae8c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconCodeSandBox.8985aed1.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconDocus.277086a0.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconNuxt.003ced8d.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconNuxtContent.003ced8d.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconNuxtLabs.83def0da.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "IconNuxtStudio.34390cd8.css", + "src": "node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.css" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "IconNuxtStudio.34390cd8.css" + ], + "file": "IconNuxtStudio.6ad88ab7.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue" + }, + "IconNuxtStudio.34390cd8.css": { + "file": "IconNuxtStudio.34390cd8.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconStackBlitz.99329b01.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue" + }, + "node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "IconVueTelescope.2beda973.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue" + }, + "node_modules/@nuxt-themes/elements/components/landing/BlockHero.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "BlockHero.c90d4fc3.css", + "src": "node_modules/@nuxt-themes/elements/components/landing/BlockHero.css" + }, + "node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "BlockHero.c90d4fc3.css" + ], + "file": "BlockHero.5e04f7f2.js", + "imports": [ + "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue", + "node_modules/@nuxt-themes/elements/components/globals/Terminal.vue", + "node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue", + "_slot.51812f31.js", + "node_modules/nuxt/dist/app/entry.js", + "_node.676c5e99.js", + "_NuxtImg.vue.aab88a57.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue" + }, + "BlockHero.c90d4fc3.css": { + "file": "BlockHero.c90d4fc3.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/landing/Card.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "Card.aa172920.css", + "src": "node_modules/@nuxt-themes/elements/components/landing/Card.css" + }, + "node_modules/@nuxt-themes/elements/components/landing/Card.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "Card.aa172920.css" + ], + "file": "Card.a46436ac.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/landing/Card.vue" + }, + "Card.aa172920.css": { + "file": "Card.aa172920.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/landing/CardGrid.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "CardGrid.4bc87347.css", + "src": "node_modules/@nuxt-themes/elements/components/landing/CardGrid.css" + }, + "node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "CardGrid.4bc87347.css" + ], + "file": "CardGrid.7053b1eb.js", + "imports": [ + "_slot.51812f31.js", + "node_modules/nuxt/dist/app/entry.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue" + }, + "CardGrid.4bc87347.css": { + "file": "CardGrid.4bc87347.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ComponentPlayground.02ad673c.css", + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.css" + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ComponentPlayground.02ad673c.css" + ], + "file": "ComponentPlayground.eab48243.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue", + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue", + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseH4.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/elements/components/globals/Badge.vue", + "_slot.51812f31.js", + "_node.676c5e99.js", + "node_modules/@nuxt-themes/typography/components/global/ProseP.vue", + "_ComponentPlaygroundSlots.vue.181ed5b3.js", + "_ComponentPlaygroundTokens.vue.4efbe41a.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue" + }, + "ComponentPlayground.02ad673c.css": { + "file": "ComponentPlayground.02ad673c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundData.2ba66f99.css", + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.css" + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ComponentPlaygroundData.2ba66f99.css" + ], + "file": "ComponentPlaygroundData.701e7c5c.js", + "imports": [ + "node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue", + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue", + "_ComponentPlaygroundSlots.vue.181ed5b3.js", + "_ComponentPlaygroundTokens.vue.4efbe41a.js", + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt-themes/typography/components/global/ProseH4.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/elements/components/globals/Badge.vue", + "_slot.51812f31.js", + "_node.676c5e99.js", + "node_modules/@nuxt-themes/typography/components/global/ProseP.vue" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue" + }, + "ComponentPlaygroundData.2ba66f99.css": { + "file": "ComponentPlaygroundData.2ba66f99.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundProps.54f42c7a.css", + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.css" + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ComponentPlaygroundProps.54f42c7a.css" + ], + "file": "ComponentPlaygroundProps.9f12d381.js", + "imports": [ + "node_modules/@nuxt-themes/typography/components/global/ProseH4.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue", + "node_modules/@nuxt-themes/elements/components/globals/Badge.vue", + "node_modules/@nuxt-themes/typography/components/global/ProseP.vue", + "node_modules/nuxt/dist/app/entry.js", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue" + }, + "ComponentPlaygroundProps.54f42c7a.css": { + "file": "ComponentPlaygroundProps.54f42c7a.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundSlots.a71310cd.js", + "imports": [ + "_ComponentPlaygroundSlots.vue.181ed5b3.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue" + }, + "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ComponentPlaygroundTokens.000c6991.js", + "imports": [ + "_ComponentPlaygroundTokens.vue.4efbe41a.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue" + }, + "node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "PreviewLayout.05ed95ae.css", + "src": "node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.css" + }, + "node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "PreviewLayout.05ed95ae.css" + ], + "file": "PreviewLayout.68a4ab5f.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue" + }, + "PreviewLayout.05ed95ae.css": { + "file": "PreviewLayout.05ed95ae.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "TokensPlayground.1993f1fc.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue" + }, + "node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "VoltaBoard.a5d6b336.css", + "src": "node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.css" + }, + "node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "VoltaBoard.a5d6b336.css" + ], + "file": "VoltaBoard.bc1497b6.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue" + }, + "VoltaBoard.a5d6b336.css": { + "file": "VoltaBoard.a5d6b336.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseA.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseA.e2976377.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseA.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseA.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseA.e2976377.css" + ], + "file": "ProseA.94134036.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseA.vue" + }, + "ProseA.e2976377.css": { + "file": "ProseA.e2976377.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseBlockquote.87ef1443.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseBlockquote.87ef1443.css" + ], + "file": "ProseBlockquote.6dfb0ac0.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue" + }, + "ProseBlockquote.87ef1443.css": { + "file": "ProseBlockquote.87ef1443.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseCode.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseCode.60d59d51.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseCode.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseCode.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseCode.60d59d51.css" + ], + "file": "ProseCode.e6337228.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseCode.vue" + }, + "ProseCode.60d59d51.css": { + "file": "ProseCode.60d59d51.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseCodeInline.21ce328c.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseCodeInline.21ce328c.css" + ], + "file": "ProseCodeInline.ce59fb31.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue" + }, + "ProseCodeInline.21ce328c.css": { + "file": "ProseCodeInline.21ce328c.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseEm.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseEm.26a085fc.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseEm.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseEm.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseEm.26a085fc.css" + ], + "file": "ProseEm.3f888023.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseEm.vue" + }, + "ProseEm.26a085fc.css": { + "file": "ProseEm.26a085fc.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH1.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH1.4070ea3e.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH1.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH1.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH1.4070ea3e.css" + ], + "file": "ProseH1.465cebbd.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH1.vue" + }, + "ProseH1.4070ea3e.css": { + "file": "ProseH1.4070ea3e.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH2.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH2.df45a763.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH2.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH2.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH2.df45a763.css" + ], + "file": "ProseH2.18d47a86.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH2.vue" + }, + "ProseH2.df45a763.css": { + "file": "ProseH2.df45a763.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH3.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH3.88c2d983.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH3.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH3.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH3.88c2d983.css" + ], + "file": "ProseH3.b6b2e5d1.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH3.vue" + }, + "ProseH3.88c2d983.css": { + "file": "ProseH3.88c2d983.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH4.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH4.5b64d6f8.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH4.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH4.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH4.5b64d6f8.css" + ], + "file": "ProseH4.407e72c2.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH4.vue" + }, + "ProseH4.5b64d6f8.css": { + "file": "ProseH4.5b64d6f8.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH5.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH5.79b89231.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH5.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH5.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH5.79b89231.css" + ], + "file": "ProseH5.b8fecace.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH5.vue" + }, + "ProseH5.79b89231.css": { + "file": "ProseH5.79b89231.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH6.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseH6.56de6cba.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH6.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseH6.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseH6.56de6cba.css" + ], + "file": "ProseH6.3b25caf1.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseH6.vue" + }, + "ProseH6.56de6cba.css": { + "file": "ProseH6.56de6cba.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseHr.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseHr.c7c78bbe.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseHr.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseHr.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseHr.c7c78bbe.css" + ], + "file": "ProseHr.e1825b32.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseHr.vue" + }, + "ProseHr.c7c78bbe.css": { + "file": "ProseHr.c7c78bbe.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseImg.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseImg.018721e2.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseImg.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseImg.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseImg.018721e2.css" + ], + "file": "ProseImg.f7a1a5e6.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseImg.vue" + }, + "ProseImg.018721e2.css": { + "file": "ProseImg.018721e2.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseLi.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseLi.ac05b421.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseLi.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseLi.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseLi.ac05b421.css" + ], + "file": "ProseLi.68e30a8e.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseLi.vue" + }, + "ProseLi.ac05b421.css": { + "file": "ProseLi.ac05b421.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseOl.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseOl.5ddab164.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseOl.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseOl.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseOl.5ddab164.css" + ], + "file": "ProseOl.9d7ce068.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseOl.vue" + }, + "ProseOl.5ddab164.css": { + "file": "ProseOl.5ddab164.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseP.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseP.945916cd.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseP.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseP.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseP.945916cd.css" + ], + "file": "ProseP.b61fc7b8.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseP.vue" + }, + "ProseP.945916cd.css": { + "file": "ProseP.945916cd.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseStrong.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseStrong.263d77e1.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseStrong.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseStrong.263d77e1.css" + ], + "file": "ProseStrong.f0970c03.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue" + }, + "ProseStrong.263d77e1.css": { + "file": "ProseStrong.263d77e1.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTable.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseTable.c65fbffe.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTable.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTable.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseTable.c65fbffe.css" + ], + "file": "ProseTable.dec9e2a1.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTable.vue" + }, + "ProseTable.c65fbffe.css": { + "file": "ProseTable.c65fbffe.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ProseTbody.5fd2a0b2.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTd.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseTd.b09a068a.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTd.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTd.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseTd.b09a068a.css" + ], + "file": "ProseTd.41ebe51f.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTd.vue" + }, + "ProseTd.b09a068a.css": { + "file": "ProseTd.b09a068a.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTh.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseTh.cb34fc46.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTh.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTh.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseTh.cb34fc46.css" + ], + "file": "ProseTh.c2582e0d.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTh.vue" + }, + "ProseTh.cb34fc46.css": { + "file": "ProseTh.cb34fc46.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseThead.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseThead.332c0b8a.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseThead.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseThead.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseThead.332c0b8a.css" + ], + "file": "ProseThead.beac4890.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseThead.vue" + }, + "ProseThead.332c0b8a.css": { + "file": "ProseThead.332c0b8a.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTr.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseTr.65bec588.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTr.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseTr.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseTr.65bec588.css" + ], + "file": "ProseTr.8742a66a.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseTr.vue" + }, + "ProseTr.65bec588.css": { + "file": "ProseTr.65bec588.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt-themes/typography/components/global/ProseUl.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProseUl.c9c63ec7.css", + "src": "node_modules/@nuxt-themes/typography/components/global/ProseUl.css" + }, + "node_modules/@nuxt-themes/typography/components/global/ProseUl.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProseUl.c9c63ec7.css" + ], + "file": "ProseUl.cb49d7b7.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt-themes/typography/components/global/ProseUl.vue" + }, + "ProseUl.c9c63ec7.css": { + "file": "ProseUl.c9c63ec7.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentDoc.5f6b7391.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js", + "node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue", + "node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue", + "_ContentRendererMarkdown.vue.41c2c305.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentList.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentList.6e5b3a19.js", + "imports": [ + "node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentList.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentNavigation.5611a04e.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentQuery.3e783c0e.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentRenderer.3ec87499.js", + "imports": [ + "_ContentRendererMarkdown.vue.41c2c305.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentRendererMarkdown.805a6967.js", + "imports": [ + "_ContentRendererMarkdown.vue.41c2c305.js", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ContentSlot.e99bc746.js", + "imports": [ + "_MDCSlot.44237027.js", + "node_modules/nuxt/dist/app/entry.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "DocumentDrivenEmpty.cecc2449.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/Markdown.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "Markdown.3d3acc29.js", + "imports": [ + "node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue", + "node_modules/nuxt/dist/app/entry.js", + "_MDCSlot.44237027.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/Markdown.vue" + }, + "node_modules/@nuxt/content/dist/runtime/components/Prose/ProsePre.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "ProsePre.e63e49c6.css", + "src": "node_modules/@nuxt/content/dist/runtime/components/Prose/ProsePre.css" + }, + "node_modules/@nuxt/content/dist/runtime/components/Prose/ProsePre.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "ProsePre.e63e49c6.css" + ], + "file": "ProsePre.64f579a8.js", + "imports": [ + "node_modules/@nuxt-themes/typography/components/global/ProseCode.vue", + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/components/Prose/ProsePre.vue" + }, + "ProsePre.e63e49c6.css": { + "file": "ProsePre.e63e49c6.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt/content/dist/runtime/legacy/composables/client-db.mjs": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "client-db.59c41193.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/legacy/composables/client-db.mjs" + }, + "node_modules/@nuxt/content/dist/runtime/pages/document-driven.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "document-driven.a6ed99f5.js", + "imports": [ + "node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue", + "node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue", + "node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue", + "node_modules/nuxt/dist/app/entry.js", + "_ContentRendererMarkdown.vue.41c2c305.js", + "node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue", + "_slot.51812f31.js", + "_node.676c5e99.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/content/dist/runtime/pages/document-driven.vue" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-404.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "error-404.e7689c2d.css", + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-404.css" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "error-404.e7689c2d.css" + ], + "file": "error-404.2036e8fd.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue" + }, + "error-404.e7689c2d.css": { + "file": "error-404.e7689c2d.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-500.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "error-500.92b46a75.css", + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-500.css" + }, + "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "error-500.92b46a75.css" + ], + "file": "error-500.c9d7c89a.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue" + }, + "error-500.92b46a75.css": { + "file": "error-500.92b46a75.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxthq/studio/dist/runtime/composables/useStudio.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "useStudio.37ff8fdd.css", + "src": "node_modules/@nuxthq/studio/dist/runtime/composables/useStudio.css" + }, + "node_modules/@nuxthq/studio/dist/runtime/composables/useStudio.mjs": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "useStudio.37ff8fdd.css" + ], + "dynamicImports": [ + "node_modules/socket.io-client/build/esm/index.js" + ], + "file": "useStudio.c0a5304d.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxthq/studio/dist/runtime/composables/useStudio.mjs" + }, + "useStudio.37ff8fdd.css": { + "file": "useStudio.37ff8fdd.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "ProseScript.745d8058.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue" + }, + "node_modules/nuxt-icon/dist/runtime/IconCSS.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "IconCSS.b5e1ed11.css", + "src": "node_modules/nuxt-icon/dist/runtime/IconCSS.css" + }, + "node_modules/nuxt-icon/dist/runtime/IconCSS.vue": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "IconCSS.b5e1ed11.css" + ], + "file": "IconCSS.a9a03952.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/nuxt-icon/dist/runtime/IconCSS.vue" + }, + "IconCSS.b5e1ed11.css": { + "file": "IconCSS.b5e1ed11.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/nuxt/dist/app/entry.css": { + "resourceType": "style", + "prefetch": true, + "preload": true, + "file": "entry.2685c6ae.css", + "src": "node_modules/nuxt/dist/app/entry.css" + }, + "node_modules/nuxt/dist/app/entry.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "css": [ + "entry.2685c6ae.css" + ], + "dynamicImports": [ + "node_modules/@nuxt-themes/docus/layouts/default.vue", + "node_modules/@nuxt-themes/docus/layouts/page.vue", + "node_modules/@nuxt/content/dist/runtime/legacy/composables/client-db.mjs", + "node_modules/@nuxt/content/dist/runtime/legacy/composables/client-db.mjs", + "node_modules/@nuxthq/studio/dist/runtime/composables/useStudio.mjs", + "node_modules/pinceau/dist/chunks/debug.mjs", + "node_modules/@nuxt/ui-templates/dist/templates/error-404.vue", + "node_modules/@nuxt/ui-templates/dist/templates/error-500.vue" + ], + "file": "entry.19040e7f.js", + "isEntry": true, + "src": "node_modules/nuxt/dist/app/entry.js" + }, + "entry.2685c6ae.css": { + "file": "entry.2685c6ae.css", + "resourceType": "style", + "prefetch": true, + "preload": true + }, + "node_modules/pinceau/dist/chunks/debug.mjs": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "debug.ebdbc3d9.js", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ], + "isDynamicEntry": true, + "src": "node_modules/pinceau/dist/chunks/debug.mjs" + }, + "node_modules/socket.io-client/build/esm/index.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "index.17e44084.js", + "isDynamicEntry": true, + "src": "node_modules/socket.io-client/build/esm/index.js" + } +}; + +export { client_manifest as default }; +//# sourceMappingURL=client.manifest.mjs.map diff --git a/.output/server/chunks/app/client.manifest.mjs.map b/.output/server/chunks/app/client.manifest.mjs.map new file mode 100644 index 0000000000..194be6d490 --- /dev/null +++ b/.output/server/chunks/app/client.manifest.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"client.manifest.mjs","sources":["../../../../.nuxt/dist/server/client.manifest.mjs"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.output/server/chunks/app/server.mjs b/.output/server/chunks/app/server.mjs new file mode 100644 index 0000000000..c9b97e34e4 --- /dev/null +++ b/.output/server/chunks/app/server.mjs @@ -0,0 +1,30123 @@ +import { hasInjectionContext, getCurrentInstance, version, ref, watchEffect, watch, inject, shallowRef, toRef, onServerPrefetch, isRef, defineAsyncComponent, computed, useSSRContext, h, unref, defineComponent, resolveComponent, shallowReactive, reactive, mergeProps, createVNode, resolveDynamicComponent, withCtx, renderSlot, withAsyncContext, openBlock, createBlock, createCommentVNode, toDisplayString, Fragment, createTextVNode, readonly, nextTick, renderList, createApp, effectScope, getCurrentScope, onScopeDispose, provide, onErrorCaptured, isReadonly, isShallow, isReactive, toRaw, createElementBlock, Suspense, Transition } from 'vue'; +import { i as useRuntimeConfig$1, l as createError$1, o as klona, w as withoutTrailingSlash, p as withLeadingSlash, j as joinURL, q as hash, $ as $fetch$1, r as hasProtocol, t as parseURL, v as parseQuery, x as withBase, y as withTrailingSlash, z as createHooks, A as parse, B as getRequestHeader, C as withQuery, D as isScriptProtocol, E as destr, F as isEqual, G as setCookie, H as getCookie, I as deleteCookie, J as sanitizeStatusCode, K as defu, L as kebabCase } from '../nitro/node-server.mjs'; +import { getActiveHead } from 'unhead'; +import { defineHeadPlugin, composableNames } from '@unhead/shared'; +import { createMemoryHistory, createRouter, START_LOCATION, RouterView } from 'vue-router'; +import { nanoid } from 'nanoid'; +import { ssrRenderAttrs, ssrRenderVNode, ssrRenderSlot, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderClass, ssrRenderTeleport, ssrRenderAttr, ssrRenderStyle, ssrRenderSuspense } from 'vue/server-renderer'; +import { Icon as Icon$1 } from '@iconify/vue/dist/offline'; +import { loadIcon } from '@iconify/vue'; +import { useFuse } from '@vueuse/integrations/useFuse'; +import { useFocusTrap } from '@vueuse/integrations/useFocusTrap'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +function createContext$1(opts = {}) { + let currentInstance; + let isSingleton = false; + const checkConflict = (instance) => { + if (currentInstance && currentInstance !== instance) { + throw new Error("Context conflict"); + } + }; + let als; + if (opts.asyncContext) { + const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage; + if (_AsyncLocalStorage) { + als = new _AsyncLocalStorage(); + } else { + console.warn("[unctx] `AsyncLocalStorage` is not provided."); + } + } + const _getCurrentInstance = () => { + if (als && currentInstance === void 0) { + const instance = als.getStore(); + if (instance !== void 0) { + return instance; + } + } + return currentInstance; + }; + return { + use: () => { + const _instance = _getCurrentInstance(); + if (_instance === void 0) { + throw new Error("Context is not available"); + } + return _instance; + }, + tryUse: () => { + return _getCurrentInstance(); + }, + set: (instance, replace) => { + if (!replace) { + checkConflict(instance); + } + currentInstance = instance; + isSingleton = true; + }, + unset: () => { + currentInstance = void 0; + isSingleton = false; + }, + call: (instance, callback) => { + checkConflict(instance); + currentInstance = instance; + try { + return als ? als.run(instance, callback) : callback(); + } finally { + if (!isSingleton) { + currentInstance = void 0; + } + } + }, + async callAsync(instance, callback) { + currentInstance = instance; + const onRestore = () => { + currentInstance = instance; + }; + const onLeave = () => currentInstance === instance ? onRestore : void 0; + asyncHandlers$1.add(onLeave); + try { + const r = als ? als.run(instance, callback) : callback(); + if (!isSingleton) { + currentInstance = void 0; + } + return await r; + } finally { + asyncHandlers$1.delete(onLeave); + } + } + }; +} +function createNamespace$1(defaultOpts = {}) { + const contexts = {}; + return { + get(key, opts = {}) { + if (!contexts[key]) { + contexts[key] = createContext$1({ ...defaultOpts, ...opts }); + } + contexts[key]; + return contexts[key]; + } + }; +} +const _globalThis$1 = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {}; +const globalKey$3 = "__unctx__"; +const defaultNamespace = _globalThis$1[globalKey$3] || (_globalThis$1[globalKey$3] = createNamespace$1()); +const getContext = (key, opts = {}) => defaultNamespace.get(key, opts); +const asyncHandlersKey$1 = "__unctx_async_handlers__"; +const asyncHandlers$1 = _globalThis$1[asyncHandlersKey$1] || (_globalThis$1[asyncHandlersKey$1] = /* @__PURE__ */ new Set()); + +const appConfig = useRuntimeConfig$1().app; +const baseURL = () => appConfig.baseURL; +const nuxtAppCtx = /* @__PURE__ */ getContext("nuxt-app", { + asyncContext: false +}); +const NuxtPluginIndicator = "__nuxt_plugin"; +function createNuxtApp(options) { + let hydratingCount = 0; + const nuxtApp = { + _scope: effectScope(), + provide: void 0, + globalName: "nuxt", + versions: { + get nuxt() { + return "3.8.0"; + }, + get vue() { + return nuxtApp.vueApp.version; + } + }, + payload: reactive({ + data: {}, + state: {}, + _errors: {}, + ...{ serverRendered: true } + }), + static: { + data: {} + }, + runWithContext: (fn) => nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn)), + isHydrating: false, + deferHydration() { + if (!nuxtApp.isHydrating) { + return () => { + }; + } + hydratingCount++; + let called = false; + return () => { + if (called) { + return; + } + called = true; + hydratingCount--; + if (hydratingCount === 0) { + nuxtApp.isHydrating = false; + return nuxtApp.callHook("app:suspense:resolve"); + } + }; + }, + _asyncDataPromises: {}, + _asyncData: {}, + _payloadRevivers: {}, + ...options + }; + nuxtApp.hooks = createHooks(); + nuxtApp.hook = nuxtApp.hooks.hook; + { + async function contextCaller(hooks, args) { + for (const hook of hooks) { + await nuxtApp.runWithContext(() => hook(...args)); + } + } + nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args); + } + nuxtApp.callHook = nuxtApp.hooks.callHook; + nuxtApp.provide = (name, value) => { + const $name = "$" + name; + defineGetter(nuxtApp, $name, value); + defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value); + }; + defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp); + defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp); + { + if (nuxtApp.ssrContext) { + nuxtApp.ssrContext.nuxt = nuxtApp; + nuxtApp.ssrContext._payloadReducers = {}; + nuxtApp.payload.path = nuxtApp.ssrContext.url; + } + nuxtApp.ssrContext = nuxtApp.ssrContext || {}; + if (nuxtApp.ssrContext.payload) { + Object.assign(nuxtApp.payload, nuxtApp.ssrContext.payload); + } + nuxtApp.ssrContext.payload = nuxtApp.payload; + nuxtApp.ssrContext.config = { + public: options.ssrContext.runtimeConfig.public, + app: options.ssrContext.runtimeConfig.app + }; + } + const runtimeConfig = options.ssrContext.runtimeConfig; + nuxtApp.provide("config", runtimeConfig); + return nuxtApp; +} +async function applyPlugin(nuxtApp, plugin2) { + if (plugin2.hooks) { + nuxtApp.hooks.addHooks(plugin2.hooks); + } + if (typeof plugin2 === "function") { + const { provide: provide2 } = await nuxtApp.runWithContext(() => plugin2(nuxtApp)) || {}; + if (provide2 && typeof provide2 === "object") { + for (const key in provide2) { + nuxtApp.provide(key, provide2[key]); + } + } + } +} +async function applyPlugins(nuxtApp, plugins2) { + var _a2, _b; + const parallels = []; + const errors = []; + for (const plugin2 of plugins2) { + if (((_a2 = nuxtApp.ssrContext) == null ? void 0 : _a2.islandContext) && ((_b = plugin2.env) == null ? void 0 : _b.islands) === false) { + continue; + } + const promise = applyPlugin(nuxtApp, plugin2); + if (plugin2.parallel) { + parallels.push(promise.catch((e) => errors.push(e))); + } else { + await promise; + } + } + await Promise.all(parallels); + if (errors.length) { + throw errors[0]; + } +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtPlugin(plugin2) { + if (typeof plugin2 === "function") { + return plugin2; + } + delete plugin2.name; + return Object.assign(plugin2.setup || (() => { + }), plugin2, { [NuxtPluginIndicator]: true }); +} +function callWithNuxt(nuxt, setup, args) { + const fn = () => args ? setup(...args) : setup(); + { + return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn)); + } +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function useNuxtApp() { + var _a2; + let nuxtAppInstance; + if (hasInjectionContext()) { + nuxtAppInstance = (_a2 = getCurrentInstance()) == null ? void 0 : _a2.appContext.app.$nuxt; + } + nuxtAppInstance = nuxtAppInstance || nuxtAppCtx.tryUse(); + if (!nuxtAppInstance) { + { + throw new Error("[nuxt] instance unavailable"); + } + } + return nuxtAppInstance; +} +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function useRuntimeConfig() { + return (/* @__PURE__ */ useNuxtApp()).$config; +} +function defineGetter(obj, key, val) { + Object.defineProperty(obj, key, { get: () => val }); +} +function defineAppConfig(config) { + return config; +} +version.startsWith("3"); +function resolveUnref$1(r) { + return typeof r === "function" ? r() : unref(r); +} +function resolveUnrefHeadInput(ref2, lastKey = "") { + if (ref2 instanceof Promise) + return ref2; + const root = resolveUnref$1(ref2); + if (!ref2 || !root) + return root; + if (Array.isArray(root)) + return root.map((r) => resolveUnrefHeadInput(r, lastKey)); + if (typeof root === "object") { + return Object.fromEntries( + Object.entries(root).map(([k, v]) => { + if (k === "titleTemplate" || k.startsWith("on")) + return [k, unref(v)]; + return [k, resolveUnrefHeadInput(v, k)]; + }) + ); + } + return root; +} +defineHeadPlugin({ + hooks: { + "entries:resolve": function(ctx) { + for (const entry2 of ctx.entries) + entry2.resolvedInput = resolveUnrefHeadInput(entry2.input); + } + } +}); +const headSymbol = "usehead"; +const _global$1 = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +const globalKey$2 = "__unhead_injection_handler__"; +function setHeadInjectionHandler(handler) { + _global$1[globalKey$2] = handler; +} +function injectHead() { + if (globalKey$2 in _global$1) { + return _global$1[globalKey$2](); + } + const head = inject(headSymbol); + if (!head && "production" !== "production") + console.warn("Unhead is missing Vue context, falling back to shared context. This may have unexpected results."); + return head || getActiveHead(); +} +function useHead(input, options = {}) { + const head = options.head || injectHead(); + if (head) { + if (!head.ssr) + return clientUseHead(head, input, options); + return head.push(input, options); + } +} +function clientUseHead(head, input, options = {}) { + const deactivated = ref(false); + const resolvedInput = ref({}); + watchEffect(() => { + resolvedInput.value = deactivated.value ? {} : resolveUnrefHeadInput(input); + }); + const entry2 = head.push(resolvedInput.value, options); + watch(resolvedInput, (e) => { + entry2.patch(e); + }); + getCurrentInstance(); + return entry2; +} +const coreComposableNames = [ + "injectHead" +]; +({ + "@unhead/vue": [...coreComposableNames, ...composableNames] +}); +const LayoutMetaSymbol = Symbol("layout-meta"); +const PageRouteSymbol = Symbol("route"); +const useRouter = () => { + var _a2; + return (_a2 = /* @__PURE__ */ useNuxtApp()) == null ? void 0 : _a2.$router; +}; +const useRoute = () => { + if (hasInjectionContext()) { + return inject(PageRouteSymbol, (/* @__PURE__ */ useNuxtApp())._route); + } + return (/* @__PURE__ */ useNuxtApp())._route; +}; +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtRouteMiddleware(middleware) { + return middleware; +} +const addRouteMiddleware = (name, middleware, options = {}) => { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const global2 = options.global || typeof name !== "string"; + const mw = typeof name !== "string" ? name : middleware; + if (!mw) { + console.warn("[nuxt] No route middleware passed to `addRouteMiddleware`.", name); + return; + } + if (global2) { + nuxtApp._middleware.global.push(mw); + } else { + nuxtApp._middleware.named[name] = mw; + } +}; +const isProcessingMiddleware = () => { + try { + if ((/* @__PURE__ */ useNuxtApp())._processingMiddleware) { + return true; + } + } catch { + return true; + } + return false; +}; +const navigateTo = (to, options) => { + if (!to) { + to = "/"; + } + const toPath = typeof to === "string" ? to : withQuery(to.path || "/", to.query || {}) + (to.hash || ""); + if (options == null ? void 0 : options.open) { + return Promise.resolve(); + } + const isExternal = (options == null ? void 0 : options.external) || hasProtocol(toPath, { acceptRelative: true }); + if (isExternal) { + if (!(options == null ? void 0 : options.external)) { + throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`."); + } + const protocol = parseURL(toPath).protocol; + if (protocol && isScriptProtocol(protocol)) { + throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`); + } + } + const inMiddleware = isProcessingMiddleware(); + const router = useRouter(); + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + { + if (nuxtApp.ssrContext) { + const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/"; + const location2 = isExternal ? toPath : joinURL((/* @__PURE__ */ useRuntimeConfig()).app.baseURL, fullPath); + async function redirect(response) { + await nuxtApp.callHook("app:redirected"); + const encodedLoc = location2.replace(/"/g, "%22"); + nuxtApp.ssrContext._renderResponse = { + statusCode: sanitizeStatusCode((options == null ? void 0 : options.redirectCode) || 302, 302), + body: ``, + headers: { location: location2 } + }; + return response; + } + if (!isExternal && inMiddleware) { + router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0); + return to; + } + return redirect(!inMiddleware ? void 0 : ( + /* abort route navigation */ + false + )); + } + } + if (isExternal) { + nuxtApp._scope.stop(); + if (options == null ? void 0 : options.replace) { + location.replace(toPath); + } else { + location.href = toPath; + } + if (inMiddleware) { + if (!nuxtApp.isHydrating) { + return false; + } + return new Promise(() => { + }); + } + return Promise.resolve(); + } + return (options == null ? void 0 : options.replace) ? router.replace(to) : router.push(to); +}; +const useError = () => toRef((/* @__PURE__ */ useNuxtApp()).payload, "error"); +const showError = (_err) => { + const err = createError(_err); + try { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const error = useError(); + if (false) + ; + error.value = error.value || err; + } catch { + throw err; + } + return err; +}; +const isNuxtError = (err) => !!(err && typeof err === "object" && "__nuxt_error" in err); +const createError = (err) => { + const _err = createError$1(err); + _err.__nuxt_error = true; + return _err; +}; +const appLayoutTransition = false; +const appPageTransition = false; +const appKeepalive = false; +const nuxtLinkDefaults = { "componentName": "NuxtLink" }; +const asyncDataDefaults = { "deep": true }; +function useAsyncData(...args) { + var _a2; + const autoKey = typeof args[args.length - 1] === "string" ? args.pop() : void 0; + if (typeof args[0] !== "string") { + args.unshift(autoKey); + } + let [key, handler, options = {}] = args; + if (typeof key !== "string") { + throw new TypeError("[nuxt] [asyncData] key must be a string."); + } + if (typeof handler !== "function") { + throw new TypeError("[nuxt] [asyncData] handler must be a function."); + } + const nuxt = /* @__PURE__ */ useNuxtApp(); + const getDefault = () => null; + const getDefaultCachedData = () => nuxt.isHydrating ? nuxt.payload.data[key] : nuxt.static.data[key]; + options.server = options.server ?? true; + options.default = options.default ?? getDefault; + options.getCachedData = options.getCachedData ?? getDefaultCachedData; + options.lazy = options.lazy ?? false; + options.immediate = options.immediate ?? true; + options.deep = options.deep ?? asyncDataDefaults.deep; + const hasCachedData = () => ![null, void 0].includes(options.getCachedData(key)); + if (!nuxt._asyncData[key] || !options.immediate) { + (_a2 = nuxt.payload._errors)[key] ?? (_a2[key] = null); + const _ref = options.deep ? ref : shallowRef; + nuxt._asyncData[key] = { + data: _ref(options.getCachedData(key) ?? options.default()), + pending: ref(!hasCachedData()), + error: toRef(nuxt.payload._errors, key), + status: ref("idle") + }; + } + const asyncData = { ...nuxt._asyncData[key] }; + asyncData.refresh = asyncData.execute = (opts = {}) => { + if (nuxt._asyncDataPromises[key]) { + if (opts.dedupe === false) { + return nuxt._asyncDataPromises[key]; + } + nuxt._asyncDataPromises[key].cancelled = true; + } + if ((opts._initial || nuxt.isHydrating && opts._initial !== false) && hasCachedData()) { + return Promise.resolve(options.getCachedData(key)); + } + asyncData.pending.value = true; + asyncData.status.value = "pending"; + const promise = new Promise( + (resolve, reject) => { + try { + resolve(handler(nuxt)); + } catch (err) { + reject(err); + } + } + ).then((_result) => { + if (promise.cancelled) { + return nuxt._asyncDataPromises[key]; + } + let result = _result; + if (options.transform) { + result = options.transform(_result); + } + if (options.pick) { + result = pick(result, options.pick); + } + asyncData.data.value = result; + asyncData.error.value = null; + asyncData.status.value = "success"; + }).catch((error) => { + if (promise.cancelled) { + return nuxt._asyncDataPromises[key]; + } + asyncData.error.value = error; + asyncData.data.value = unref(options.default()); + asyncData.status.value = "error"; + }).finally(() => { + if (promise.cancelled) { + return; + } + asyncData.pending.value = false; + nuxt.payload.data[key] = asyncData.data.value; + if (asyncData.error.value) { + nuxt.payload._errors[key] = createError(asyncData.error.value); + } + delete nuxt._asyncDataPromises[key]; + }); + nuxt._asyncDataPromises[key] = promise; + return nuxt._asyncDataPromises[key]; + }; + const initialFetch = () => asyncData.refresh({ _initial: true }); + const fetchOnServer = options.server !== false && nuxt.payload.serverRendered; + if (fetchOnServer && options.immediate) { + const promise = initialFetch(); + if (getCurrentInstance()) { + onServerPrefetch(() => promise); + } else { + nuxt.hook("app:created", async () => { + await promise; + }); + } + } + const asyncDataPromise = Promise.resolve(nuxt._asyncDataPromises[key]).then(() => asyncData); + Object.assign(asyncDataPromise, asyncData); + return asyncDataPromise; +} +function useLazyAsyncData(...args) { + const autoKey = typeof args[args.length - 1] === "string" ? args.pop() : void 0; + if (typeof args[0] !== "string") { + args.unshift(autoKey); + } + const [key, handler, options] = args; + return useAsyncData(key, handler, { ...options, lazy: true }, null); +} +function pick(obj, keys) { + const newObj = {}; + for (const key of keys) { + newObj[key] = obj[key]; + } + return newObj; +} +const useStateKeyPrefix = "$s"; +function useState(...args) { + const autoKey = typeof args[args.length - 1] === "string" ? args.pop() : void 0; + if (typeof args[0] !== "string") { + args.unshift(autoKey); + } + const [_key, init] = args; + if (!_key || typeof _key !== "string") { + throw new TypeError("[nuxt] [useState] key must be a string: " + _key); + } + if (init !== void 0 && typeof init !== "function") { + throw new Error("[nuxt] [useState] init must be a function: " + init); + } + const key = useStateKeyPrefix + _key; + const nuxt = /* @__PURE__ */ useNuxtApp(); + const state = toRef(nuxt.payload.state, key); + if (state.value === void 0 && init) { + const initialValue = init(); + if (isRef(initialValue)) { + nuxt.payload.state[key] = initialValue; + return initialValue; + } + state.value = initialValue; + } + return state; +} +function useRequestEvent(nuxtApp = /* @__PURE__ */ useNuxtApp()) { + var _a2; + return (_a2 = nuxtApp.ssrContext) == null ? void 0 : _a2.event; +} +const CookieDefaults = { + path: "/", + watch: true, + decode: (val) => destr(decodeURIComponent(val)), + encode: (val) => encodeURIComponent(typeof val === "string" ? val : JSON.stringify(val)) +}; +function useCookie(name, _opts) { + var _a2; + const opts = { ...CookieDefaults, ..._opts }; + const cookies = readRawCookies(opts) || {}; + const cookie = ref(cookies[name] ?? ((_a2 = opts.default) == null ? void 0 : _a2.call(opts))); + { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const writeFinalCookieValue = () => { + if (!isEqual(cookie.value, cookies[name])) { + writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts); + } + }; + const unhook = nuxtApp.hooks.hookOnce("app:rendered", writeFinalCookieValue); + nuxtApp.hooks.hookOnce("app:error", () => { + unhook(); + return writeFinalCookieValue(); + }); + } + return cookie; +} +function readRawCookies(opts = {}) { + { + return parse(getRequestHeader(useRequestEvent(), "cookie") || "", opts); + } +} +function writeServerCookie(event, name, value, opts = {}) { + if (event) { + if (value !== null && value !== void 0) { + return setCookie(event, name, value, opts); + } + if (getCookie(event, name) !== void 0) { + return deleteCookie(event, name, opts); + } + } +} +function definePayloadReducer(name, reduce) { + { + (/* @__PURE__ */ useNuxtApp()).ssrContext._payloadReducers[name] = reduce; + } +} +const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0); +const DEFAULT_EXTERNAL_REL_ATTRIBUTE = "noopener noreferrer"; +/*! @__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineNuxtLink(options) { + const componentName2 = options.componentName || "NuxtLink"; + const resolveTrailingSlashBehavior = (to, resolve) => { + if (!to || options.trailingSlash !== "append" && options.trailingSlash !== "remove") { + return to; + } + const normalizeTrailingSlash = options.trailingSlash === "append" ? withTrailingSlash : withoutTrailingSlash; + if (typeof to === "string") { + return normalizeTrailingSlash(to, true); + } + const path = "path" in to ? to.path : resolve(to).path; + return { + ...to, + name: void 0, + // named routes would otherwise always override trailing slash behavior + path: normalizeTrailingSlash(path, true) + }; + }; + return /* @__PURE__ */ defineComponent({ + name: componentName2, + props: { + // Routing + to: { + type: [String, Object], + default: void 0, + required: false + }, + href: { + type: [String, Object], + default: void 0, + required: false + }, + // Attributes + target: { + type: String, + default: void 0, + required: false + }, + rel: { + type: String, + default: void 0, + required: false + }, + noRel: { + type: Boolean, + default: void 0, + required: false + }, + // Prefetching + prefetch: { + type: Boolean, + default: void 0, + required: false + }, + noPrefetch: { + type: Boolean, + default: void 0, + required: false + }, + // Styling + activeClass: { + type: String, + default: void 0, + required: false + }, + exactActiveClass: { + type: String, + default: void 0, + required: false + }, + prefetchedClass: { + type: String, + default: void 0, + required: false + }, + // Vue Router's `` additional props + replace: { + type: Boolean, + default: void 0, + required: false + }, + ariaCurrentValue: { + type: String, + default: void 0, + required: false + }, + // Edge cases handling + external: { + type: Boolean, + default: void 0, + required: false + }, + // Slot API + custom: { + type: Boolean, + default: void 0, + required: false + } + }, + setup(props, { slots }) { + const router = useRouter(); + const to = computed(() => { + const path = props.to || props.href || ""; + return resolveTrailingSlashBehavior(path, router.resolve); + }); + const isExternal = computed(() => { + if (props.external) { + return true; + } + if (props.target && props.target !== "_self") { + return true; + } + if (typeof to.value === "object") { + return false; + } + return to.value === "" || hasProtocol(to.value, { acceptRelative: true }); + }); + const prefetched = ref(false); + const el = void 0; + const elRef = void 0; + return () => { + var _a2, _b; + if (!isExternal.value) { + const routerLinkProps = { + ref: elRef, + to: to.value, + activeClass: props.activeClass || options.activeClass, + exactActiveClass: props.exactActiveClass || options.exactActiveClass, + replace: props.replace, + ariaCurrentValue: props.ariaCurrentValue, + custom: props.custom + }; + if (!props.custom) { + if (prefetched.value) { + routerLinkProps.class = props.prefetchedClass || options.prefetchedClass; + } + routerLinkProps.rel = props.rel; + } + return h( + resolveComponent("RouterLink"), + routerLinkProps, + slots.default + ); + } + const href = typeof to.value === "object" ? ((_a2 = router.resolve(to.value)) == null ? void 0 : _a2.href) ?? null : to.value || null; + const target = props.target || null; + const rel = props.noRel ? null : firstNonUndefined(props.rel, options.externalRelAttribute, href ? DEFAULT_EXTERNAL_REL_ATTRIBUTE : "") || null; + const navigate = () => navigateTo(href, { replace: props.replace }); + if (props.custom) { + if (!slots.default) { + return null; + } + return slots.default({ + href, + navigate, + get route() { + if (!href) { + return void 0; + } + const url = parseURL(href); + return { + path: url.pathname, + fullPath: url.pathname, + get query() { + return parseQuery(url.search); + }, + hash: url.hash, + // stub properties for compat with vue-router + params: {}, + name: void 0, + matched: [], + redirectedFrom: void 0, + meta: {}, + href + }; + }, + rel, + target, + isExternal: isExternal.value, + isActive: false, + isExactActive: false + }); + } + return h("a", { ref: el, href, rel, target }, (_b = slots.default) == null ? void 0 : _b.call(slots)); + }; + } + }); +} +const __nuxt_component_0$6 = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults); +function _defu(baseObject, defaults, namespace = ".", merger) { + if (!_isPlainObject(defaults)) { + return _defu(baseObject, {}, namespace, merger); + } + const object = Object.assign({}, defaults); + for (const key in baseObject) { + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = baseObject[key]; + if (value === null || value === void 0) { + continue; + } + if (merger && merger(object, key, value, namespace)) { + continue; + } + if (Array.isArray(value) && Array.isArray(object[key])) { + object[key] = [...value, ...object[key]]; + } else if (_isPlainObject(value) && _isPlainObject(object[key])) { + object[key] = _defu( + value, + object[key], + (namespace ? `${namespace}.` : "") + key.toString(), + merger + ); + } else { + object[key] = value; + } + } + return object; +} +function _isPlainObject(value) { + if (value === null || typeof value !== "object") { + return false; + } + const prototype = Object.getPrototypeOf(value); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value); +} +function createDefu(merger) { + return (...arguments_) => ( + // eslint-disable-next-line unicorn/no-array-reduce + arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) + ); +} +const defuFn = createDefu((object, key, currentValue) => { + if (object[key] !== void 0 && typeof currentValue === "function") { + object[key] = currentValue(object[key]); + return true; + } +}); +const cfg0 = defineAppConfig({ + docus: { + title: "setup.md", + description: "Your open source Minecraft administration wiki.", + image: "", + socials: { + github: "setupmd/docs", + discord: { + label: "Discord", + icon: "simple-icons:discord", + href: "https://link.setup.md/discord" + } + }, + github: { + dir: ".starters/default/content", + branch: "v3-nuxt", + repo: "docs", + owner: "setupmd", + edit: true + }, + aside: { + level: 0, + collapsed: false, + exclude: [] + }, + main: { + padded: true, + fluid: true + }, + header: { + logo: true, + showLinkIcon: true, + exclude: [], + fluid: true + } + } +}); +const cfg1 = defineAppConfig({ + docus: { + title: "Docus", + description: "The best place to start your documentation.", + url: "https://docus.dev", + image: "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + socials: {}, + layout: "default", + header: { + title: "", + logo: false, + showLinkIcon: false, + fluid: false, + exclude: [] + }, + aside: { + level: 0, + collapsed: false, + exclude: [] + }, + footer: { + credits: { + icon: "IconDocus", + text: "Powered by Docus", + href: "https://docus.dev" + }, + textLinks: [], + iconLinks: [], + fluid: false + }, + github: { + dir: void 0, + branch: void 0, + repo: void 0, + owner: void 0, + edit: false + } + } +}); +const cfg2 = defineAppConfig({ + prose: { + copyButton: { + iconCopy: "ph:copy", + iconCopied: "ph:check" + }, + headings: { + icon: "ph:link" + } + } +}); +const cfg3 = defineAppConfig({}); +const inlineConfig = { + "nuxt": { + "buildId": "5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66" + } +}; +const __appConfig = /* @__PURE__ */ defuFn(cfg0, cfg1, cfg2, cfg3, inlineConfig); +function useAppConfig() { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + if (!nuxtApp._appConfig) { + nuxtApp._appConfig = klona(__appConfig); + } + return nuxtApp._appConfig; +} +const unhead_KgADcZ0jPj = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:head", + enforce: "pre", + setup(nuxtApp) { + const head = nuxtApp.ssrContext.head; + setHeadInjectionHandler( + // need a fresh instance of the nuxt app to avoid parallel requests interfering with each other + () => (/* @__PURE__ */ useNuxtApp()).vueApp._context.provides.usehead + ); + nuxtApp.vueApp.use(head); + } +}); +function createContext(opts = {}) { + let currentInstance; + let isSingleton = false; + const checkConflict = (instance) => { + if (currentInstance && currentInstance !== instance) { + throw new Error("Context conflict"); + } + }; + let als; + if (opts.asyncContext) { + const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage; + if (_AsyncLocalStorage) { + als = new _AsyncLocalStorage(); + } else { + console.warn("[unctx] `AsyncLocalStorage` is not provided."); + } + } + const _getCurrentInstance = () => { + if (als && currentInstance === void 0) { + const instance = als.getStore(); + if (instance !== void 0) { + return instance; + } + } + return currentInstance; + }; + return { + use: () => { + const _instance = _getCurrentInstance(); + if (_instance === void 0) { + throw new Error("Context is not available"); + } + return _instance; + }, + tryUse: () => { + return _getCurrentInstance(); + }, + set: (instance, replace) => { + if (!replace) { + checkConflict(instance); + } + currentInstance = instance; + isSingleton = true; + }, + unset: () => { + currentInstance = void 0; + isSingleton = false; + }, + call: (instance, callback) => { + checkConflict(instance); + currentInstance = instance; + try { + return als ? als.run(instance, callback) : callback(); + } finally { + if (!isSingleton) { + currentInstance = void 0; + } + } + }, + async callAsync(instance, callback) { + currentInstance = instance; + const onRestore = () => { + currentInstance = instance; + }; + const onLeave = () => currentInstance === instance ? onRestore : void 0; + asyncHandlers.add(onLeave); + try { + const r = als ? als.run(instance, callback) : callback(); + if (!isSingleton) { + currentInstance = void 0; + } + return await r; + } finally { + asyncHandlers.delete(onLeave); + } + } + }; +} +function createNamespace(defaultOpts = {}) { + const contexts = {}; + return { + get(key, opts = {}) { + if (!contexts[key]) { + contexts[key] = createContext({ ...defaultOpts, ...opts }); + } + contexts[key]; + return contexts[key]; + } + }; +} +const _globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {}; +const globalKey$1 = "__unctx__"; +_globalThis[globalKey$1] || (_globalThis[globalKey$1] = createNamespace()); +const asyncHandlersKey = "__unctx_async_handlers__"; +const asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set()); +function executeAsync(function_) { + const restores = []; + for (const leaveHandler of asyncHandlers) { + const restore2 = leaveHandler(); + if (restore2) { + restores.push(restore2); + } + } + const restore = () => { + for (const restore2 of restores) { + restore2(); + } + }; + let awaitable = function_(); + if (awaitable && typeof awaitable === "object" && "catch" in awaitable) { + awaitable = awaitable.catch((error) => { + restore(); + throw error; + }); + } + return [awaitable, restore]; +} +const _routes = [ + { + name: "slug", + path: "/:slug(.*)*", + meta: {}, + alias: [], + redirect: void 0, + component: () => import('./_nuxt/document-driven-8d5c0225.mjs').then((m) => m.default || m) + } +]; +const routerOptions0 = { + scrollBehavior(to, _form, savedPosition) { + if (history.state.stop) { + return; + } + if (history.state.smooth) { + return { + el: history.state.smooth, + behavior: "smooth" + }; + } + if (to.hash) { + const el = document.querySelector(to.hash); + if (!el) { + return; + } + const { marginTop } = getComputedStyle(el); + const marginTopValue = parseInt(marginTop); + const offset = document.querySelector(to.hash).offsetTop - marginTopValue; + return { + top: offset, + behavior: "smooth" + }; + } + if (savedPosition) { + return savedPosition; + } else { + return { top: 0 }; + } + } +}; +const routerOptions1 = { + scrollBehavior(to, from, savedPosition) { + var _a2; + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const behavior = ((_a2 = useRouter().options) == null ? void 0 : _a2.scrollBehaviorType) ?? "auto"; + let position = savedPosition || void 0; + const routeAllowsScrollToTop = typeof to.meta.scrollToTop === "function" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop; + if (!position && from && to && routeAllowsScrollToTop !== false && _isDifferentRoute(from, to)) { + position = { left: 0, top: 0 }; + } + if (to.path === from.path) { + if (from.hash && !to.hash) { + return { left: 0, top: 0 }; + } + if (to.hash) { + return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior }; + } + } + const hasTransition = (route) => !!(route.meta.pageTransition ?? appPageTransition); + const hookToWait = hasTransition(from) && hasTransition(to) ? "page:transition:finish" : "page:finish"; + return new Promise((resolve) => { + nuxtApp.hooks.hookOnce(hookToWait, async () => { + await nextTick(); + if (to.hash) { + position = { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior }; + } + resolve(position); + }); + }); + } +}; +function _getHashElementScrollMarginTop(selector) { + try { + const elem = document.querySelector(selector); + if (elem) { + return parseFloat(getComputedStyle(elem).scrollMarginTop); + } + } catch { + } + return 0; +} +function _isDifferentRoute(from, to) { + return to.path !== from.path || JSON.stringify(from.params) !== JSON.stringify(to.params); +} +const configRouterOptions = {}; +const routerOptions = { + ...configRouterOptions, + ...routerOptions1, + ...routerOptions0 +}; +const validate = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => { + var _a2; + let __temp, __restore; + if (!((_a2 = to.meta) == null ? void 0 : _a2.validate)) { + return; + } + useRouter(); + const result = ([__temp, __restore] = executeAsync(() => Promise.resolve(to.meta.validate(to))), __temp = await __temp, __restore(), __temp); + if (result === true) { + return; + } + { + return result; + } +}); +const manifest_45route_45rule = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => { + { + return; + } +}); +const globalMiddleware = [ + validate, + manifest_45route_45rule +]; +const namedMiddleware = {}; +const plugin$1 = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:router", + enforce: "pre", + async setup(nuxtApp) { + var _a2, _b; + let __temp, __restore; + let routerBase = (/* @__PURE__ */ useRuntimeConfig()).app.baseURL; + if (routerOptions.hashMode && !routerBase.includes("#")) { + routerBase += "#"; + } + const history2 = ((_a2 = routerOptions.history) == null ? void 0 : _a2.call(routerOptions, routerBase)) ?? createMemoryHistory(routerBase); + const routes = ((_b = routerOptions.routes) == null ? void 0 : _b.call(routerOptions, _routes)) ?? _routes; + let startPosition; + const initialURL = nuxtApp.ssrContext.url; + const router = createRouter({ + ...routerOptions, + scrollBehavior: (to, from, savedPosition) => { + var _a3; + if (from === START_LOCATION) { + startPosition = savedPosition; + return; + } + router.options.scrollBehavior = routerOptions.scrollBehavior; + return (_a3 = routerOptions.scrollBehavior) == null ? void 0 : _a3.call(routerOptions, to, START_LOCATION, startPosition || savedPosition); + }, + history: history2, + routes + }); + nuxtApp.vueApp.use(router); + const previousRoute = shallowRef(router.currentRoute.value); + router.afterEach((_to, from) => { + previousRoute.value = from; + }); + Object.defineProperty(nuxtApp.vueApp.config.globalProperties, "previousRoute", { + get: () => previousRoute.value + }); + const _route = shallowRef(router.resolve(initialURL)); + const syncCurrentRoute = () => { + _route.value = router.currentRoute.value; + }; + nuxtApp.hook("page:finish", syncCurrentRoute); + router.afterEach((to, from) => { + var _a3, _b2, _c, _d; + if (((_b2 = (_a3 = to.matched[0]) == null ? void 0 : _a3.components) == null ? void 0 : _b2.default) === ((_d = (_c = from.matched[0]) == null ? void 0 : _c.components) == null ? void 0 : _d.default)) { + syncCurrentRoute(); + } + }); + const route = {}; + for (const key in _route.value) { + Object.defineProperty(route, key, { + get: () => _route.value[key] + }); + } + nuxtApp._route = shallowReactive(route); + nuxtApp._middleware = nuxtApp._middleware || { + global: [], + named: {} + }; + useError(); + try { + if (true) { + ; + [__temp, __restore] = executeAsync(() => router.push(initialURL)), await __temp, __restore(); + ; + } + ; + [__temp, __restore] = executeAsync(() => router.isReady()), await __temp, __restore(); + ; + } catch (error2) { + [__temp, __restore] = executeAsync(() => nuxtApp.runWithContext(() => showError(error2))), await __temp, __restore(); + } + const initialLayout = nuxtApp.payload.state._layout; + router.beforeEach(async (to, from) => { + var _a3, _b2; + to.meta = reactive(to.meta); + if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) { + to.meta.layout = initialLayout; + } + nuxtApp._processingMiddleware = true; + if (!((_a3 = nuxtApp.ssrContext) == null ? void 0 : _a3.islandContext)) { + const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]); + for (const component of to.matched) { + const componentMiddleware = component.meta.middleware; + if (!componentMiddleware) { + continue; + } + if (Array.isArray(componentMiddleware)) { + for (const entry2 of componentMiddleware) { + middlewareEntries.add(entry2); + } + } else { + middlewareEntries.add(componentMiddleware); + } + } + for (const entry2 of middlewareEntries) { + const middleware = typeof entry2 === "string" ? nuxtApp._middleware.named[entry2] || await ((_b2 = namedMiddleware[entry2]) == null ? void 0 : _b2.call(namedMiddleware).then((r) => r.default || r)) : entry2; + if (!middleware) { + throw new Error(`Unknown route middleware: '${entry2}'.`); + } + const result = await nuxtApp.runWithContext(() => middleware(to, from)); + { + if (result === false || result instanceof Error) { + const error2 = result || createError$1({ + statusCode: 404, + statusMessage: `Page Not Found: ${initialURL}` + }); + await nuxtApp.runWithContext(() => showError(error2)); + return false; + } + } + if (result === true) { + continue; + } + if (result || result === false) { + return result; + } + } + } + }); + router.onError(() => { + delete nuxtApp._processingMiddleware; + }); + router.afterEach(async (to, _from, failure) => { + var _a3; + delete nuxtApp._processingMiddleware; + if ((failure == null ? void 0 : failure.type) === 4) { + return; + } + if (to.matched.length === 0 && !((_a3 = nuxtApp.ssrContext) == null ? void 0 : _a3.islandContext)) { + await nuxtApp.runWithContext(() => showError(createError$1({ + statusCode: 404, + fatal: false, + statusMessage: `Page not found: ${to.fullPath}` + }))); + } else if (to.redirectedFrom && to.fullPath !== initialURL) { + await nuxtApp.runWithContext(() => navigateTo(to.fullPath || "/")); + } + }); + nuxtApp.hooks.hookOnce("app:created", async () => { + try { + await router.replace({ + ...router.resolve(initialURL), + name: void 0, + // #4920, #4982 + force: true + }); + router.options.scrollBehavior = routerOptions.scrollBehavior; + } catch (error2) { + await nuxtApp.runWithContext(() => showError(error2)); + } + }); + return { provide: { router } }; + } +}); +const reducers = { + NuxtError: (data) => isNuxtError(data) && data.toJSON(), + EmptyShallowRef: (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_"), + EmptyRef: (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_"), + ShallowRef: (data) => isRef(data) && isShallow(data) && data.value, + ShallowReactive: (data) => isReactive(data) && isShallow(data) && toRaw(data), + Ref: (data) => isRef(data) && data.value, + Reactive: (data) => isReactive(data) && toRaw(data) +}; +const revive_payload_server_eJ33V7gbc6 = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:revive-payload:server", + setup() { + for (const reducer in reducers) { + definePayloadReducer(reducer, reducers[reducer]); + } + } +}); +const LazyAppDocSearch = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppDocSearch; +}).then((r) => r.default)); +const LazyAppFooter = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppFooter; +}).then((r) => r.default)); +const LazyAppHeader = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppHeader; +}).then((r) => r.default)); +const LazyAppHeaderDialog = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppHeaderDialog; +}).then((r) => r.default)); +const LazyAppHeaderLogo = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppHeaderLogo; +}).then((r) => r.default)); +const LazyAppHeaderNavigation = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppHeaderNavigation; +}).then((r) => r.default)); +const LazyAppLayout = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppLayout; +}).then((r) => r.default)); +const LazyAppLoadingBar = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppLoadingBar; +}).then((r) => r.default)); +const LazyAppSearch = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppSearch; +}).then((r) => r.default)); +const LazyAppSocialIcons = defineAsyncComponent(() => Promise.resolve().then(function() { + return AppSocialIcons; +}).then((r) => r.default)); +const LazyDocumentDrivenNotFound = defineAsyncComponent(() => import('./_nuxt/DocumentDrivenNotFound-341dd3ee.mjs').then((r) => r.default)); +const LazyEllipsis = defineAsyncComponent(() => import('./_nuxt/Ellipsis-184c202e.mjs').then((r) => r.default)); +const LazyLogo = defineAsyncComponent(() => Promise.resolve().then(function() { + return Logo; +}).then((r) => r.default)); +const LazyThemeSelect = defineAsyncComponent(() => Promise.resolve().then(function() { + return ThemeSelect; +}).then((r) => r.default)); +const LazyDocsAside = defineAsyncComponent(() => import('./_nuxt/DocsAside-fd029efe.mjs').then((r) => r.default)); +const LazyDocsAsideTree = defineAsyncComponent(() => Promise.resolve().then(function() { + return DocsAsideTree; +}).then((r) => r.default)); +const LazyDocsPageBottom = defineAsyncComponent(() => import('./_nuxt/DocsPageBottom-154201e5.mjs').then((r) => r.default)); +const LazyDocsPageLayout = defineAsyncComponent(() => import('./_nuxt/DocsPageLayout-f4e17515.mjs').then((r) => r.default)); +const LazyDocsPrevNext = defineAsyncComponent(() => import('./_nuxt/DocsPrevNext-f4da19df.mjs').then((r) => r.default)); +const LazyDocsToc = defineAsyncComponent(() => import('./_nuxt/DocsToc-132da242.mjs').then((r) => r.default)); +const LazyDocsTocLinks = defineAsyncComponent(() => import('./_nuxt/DocsTocLinks-9dbdb54e.mjs').then((r) => r.default)); +const LazyEditOnLink = defineAsyncComponent(() => import('./_nuxt/EditOnLink-ed7c39ad.mjs').then((r) => r.default)); +const LazySourceLink = defineAsyncComponent(() => import('./_nuxt/SourceLink-9bcaa785.mjs').then((r) => r.default)); +const LazyProseA = defineAsyncComponent(() => import('./_nuxt/ProseA-d15a6354.mjs').then((r) => r.default)); +const LazyProseBlockquote = defineAsyncComponent(() => import('./_nuxt/ProseBlockquote-de33a742.mjs').then((r) => r.default)); +const LazyProseCode = defineAsyncComponent(() => import('./_nuxt/ProseCode-879ee0f0.mjs').then((r) => r.default)); +const LazyProseCodeInline = defineAsyncComponent(() => import('./_nuxt/ProseCodeInline-3a7a9d5f.mjs').then((r) => r.default)); +const LazyProseEm = defineAsyncComponent(() => import('./_nuxt/ProseEm-0af08bee.mjs').then((r) => r.default)); +const LazyProseH1 = defineAsyncComponent(() => import('./_nuxt/ProseH1-b6c1c742.mjs').then((r) => r.default)); +const LazyProseH2 = defineAsyncComponent(() => import('./_nuxt/ProseH2-fc88c79c.mjs').then((r) => r.default)); +const LazyProseH3 = defineAsyncComponent(() => import('./_nuxt/ProseH3-4c15b496.mjs').then((r) => r.default)); +const LazyProseH4 = defineAsyncComponent(() => import('./_nuxt/ProseH4-148db78a.mjs').then((r) => r.default)); +const LazyProseH5 = defineAsyncComponent(() => import('./_nuxt/ProseH5-81c79c36.mjs').then((r) => r.default)); +const LazyProseH6 = defineAsyncComponent(() => import('./_nuxt/ProseH6-929f786d.mjs').then((r) => r.default)); +const LazyProseHr = defineAsyncComponent(() => import('./_nuxt/ProseHr-a41041ed.mjs').then((r) => r.default)); +const LazyProseImg = defineAsyncComponent(() => import('./_nuxt/ProseImg-2a94ad55.mjs').then((r) => r.default)); +const LazyProseLi = defineAsyncComponent(() => import('./_nuxt/ProseLi-e5eaed75.mjs').then((r) => r.default)); +const LazyProseOl = defineAsyncComponent(() => import('./_nuxt/ProseOl-e464dd83.mjs').then((r) => r.default)); +const LazyProseP = defineAsyncComponent(() => import('./_nuxt/ProseP-9ba527ea.mjs').then((r) => r.default)); +const LazyProseStrong = defineAsyncComponent(() => import('./_nuxt/ProseStrong-3a68591e.mjs').then((r) => r.default)); +const LazyProseTable = defineAsyncComponent(() => import('./_nuxt/ProseTable-c6860529.mjs').then((r) => r.default)); +const LazyProseTbody = defineAsyncComponent(() => import('./_nuxt/ProseTbody-f87b59b3.mjs').then((r) => r.default)); +const LazyProseTd = defineAsyncComponent(() => import('./_nuxt/ProseTd-a299de65.mjs').then((r) => r.default)); +const LazyProseTh = defineAsyncComponent(() => import('./_nuxt/ProseTh-b85b9933.mjs').then((r) => r.default)); +const LazyProseThead = defineAsyncComponent(() => import('./_nuxt/ProseThead-d45a270b.mjs').then((r) => r.default)); +const LazyProseTr = defineAsyncComponent(() => import('./_nuxt/ProseTr-72057dbe.mjs').then((r) => r.default)); +const LazyProseUl = defineAsyncComponent(() => import('./_nuxt/ProseUl-f7908751.mjs').then((r) => r.default)); +const LazyAlert = defineAsyncComponent(() => import('./_nuxt/Alert-e89bb36c.mjs').then((r) => r.default)); +const LazyBadge = defineAsyncComponent(() => import('./_nuxt/Badge-30890d1c.mjs').then((r) => r.default)); +const LazyButtonLink = defineAsyncComponent(() => import('./_nuxt/ButtonLink-8e56d417.mjs').then((r) => r.default)); +const LazyCallout = defineAsyncComponent(() => import('./_nuxt/Callout-3727c4b0.mjs').then((r) => r.default)); +const LazyCodeBlock = defineAsyncComponent(() => import('./_nuxt/CodeBlock-dbd44ab0.mjs').then((r) => r.default)); +const LazyCodeGroup = defineAsyncComponent(() => import('./_nuxt/CodeGroup-d64eabf7.mjs').then((r) => r.default)); +const LazyContainer = defineAsyncComponent(() => Promise.resolve().then(function() { + return Container; +}).then((r) => r.default)); +const LazyCopyButton = defineAsyncComponent(() => import('./_nuxt/CopyButton-51a18d2c.mjs').then((r) => r.default)); +const LazyList = defineAsyncComponent(() => import('./_nuxt/List-a30d7012.mjs').then((r) => r.default)); +const LazyNuxtImg = defineAsyncComponent(() => import('./_nuxt/NuxtImg-4d4c6866.mjs').then((r) => r.default)); +const LazyProps = defineAsyncComponent(() => import('./_nuxt/Props-6b1490be.mjs').then((r) => r.default)); +const LazySandbox = defineAsyncComponent(() => import('./_nuxt/Sandbox-987e5cc0.mjs').then((r) => r.default)); +const LazyTabsHeader = defineAsyncComponent(() => import('./_nuxt/TabsHeader-6f158920.mjs').then((r) => r.default)); +const LazyTerminal = defineAsyncComponent(() => import('./_nuxt/Terminal-4e6973c9.mjs').then((r) => r.default)); +const LazyVideoPlayer = defineAsyncComponent(() => import('./_nuxt/VideoPlayer-1ec85efa.mjs').then((r) => r.default)); +const LazyIconCodeSandBox = defineAsyncComponent(() => import('./_nuxt/IconCodeSandBox-5aa49f50.mjs').then((r) => r.default)); +const LazyIconDocus = defineAsyncComponent(() => import('./_nuxt/IconDocus-56c9fa2f.mjs').then((r) => r.default)); +const LazyIconNuxt = defineAsyncComponent(() => import('./_nuxt/IconNuxt-cfd8fb8a.mjs').then((r) => r.default)); +const LazyIconNuxtContent = defineAsyncComponent(() => import('./_nuxt/IconNuxtContent-c593c55e.mjs').then((r) => r.default)); +const LazyIconNuxtLabs = defineAsyncComponent(() => import('./_nuxt/IconNuxtLabs-fcb4bbf4.mjs').then((r) => r.default)); +const LazyIconNuxtStudio = defineAsyncComponent(() => import('./_nuxt/IconNuxtStudio-0df39500.mjs').then((r) => r.default)); +const LazyIconStackBlitz = defineAsyncComponent(() => import('./_nuxt/IconStackBlitz-20a3588c.mjs').then((r) => r.default)); +const LazyIconVueTelescope = defineAsyncComponent(() => import('./_nuxt/IconVueTelescope-4c5f71cc.mjs').then((r) => r.default)); +const LazyBlockHero = defineAsyncComponent(() => import('./_nuxt/BlockHero-8f28d75e.mjs').then((r) => r.default)); +const LazyCard = defineAsyncComponent(() => import('./_nuxt/Card-2ede1e4d.mjs').then((r) => r.default)); +const LazyCardGrid = defineAsyncComponent(() => import('./_nuxt/CardGrid-66c8cd2c.mjs').then((r) => r.default)); +const LazyVoltaBoard = defineAsyncComponent(() => import('./_nuxt/VoltaBoard-98820156.mjs').then((r) => r.default)); +const LazyComponentPlayground = defineAsyncComponent(() => import('./_nuxt/ComponentPlayground-925a8426.mjs').then((r) => r.default)); +const LazyComponentPlaygroundData = defineAsyncComponent(() => import('./_nuxt/ComponentPlaygroundData-c8c06afe.mjs').then((r) => r.default)); +const LazyComponentPlaygroundProps = defineAsyncComponent(() => import('./_nuxt/ComponentPlaygroundProps-0ceb6590.mjs').then((r) => r.default)); +const LazyComponentPlaygroundSlots = defineAsyncComponent(() => import('./_nuxt/ComponentPlaygroundSlots-0dbd767a.mjs').then((r) => r.default)); +const LazyComponentPlaygroundTokens = defineAsyncComponent(() => import('./_nuxt/ComponentPlaygroundTokens-548a0a2d.mjs').then((r) => r.default)); +const LazyPreviewLayout = defineAsyncComponent(() => import('./_nuxt/PreviewLayout-96eed112.mjs').then((r) => r.default)); +const LazyTokensPlayground = defineAsyncComponent(() => import('./_nuxt/TokensPlayground-8362c368.mjs').then((r) => r.default)); +const LazyContentDoc = defineAsyncComponent(() => import('./_nuxt/ContentDoc-9591479f.mjs').then((r) => r.default)); +const LazyContentList = defineAsyncComponent(() => import('./_nuxt/ContentList-15663796.mjs').then((r) => r.default)); +const LazyContentNavigation = defineAsyncComponent(() => import('./_nuxt/ContentNavigation-26a999a2.mjs').then((r) => r.default)); +const LazyContentQuery = defineAsyncComponent(() => import('./_nuxt/ContentQuery-8d8f49ed.mjs').then((r) => r.default)); +const LazyContentRenderer = defineAsyncComponent(() => import('./_nuxt/ContentRenderer-fb4f700e.mjs').then((r) => r.default)); +const LazyContentRendererMarkdown = defineAsyncComponent(() => import('./_nuxt/ContentRendererMarkdown-ebb4dffb.mjs').then((r) => r.default)); +const LazyContentSlot = defineAsyncComponent(() => import('./_nuxt/ContentSlot-8ddc8cc2.mjs').then((r) => r.default)); +const LazyDocumentDrivenEmpty = defineAsyncComponent(() => import('./_nuxt/DocumentDrivenEmpty-e7fcdb87.mjs').then((r) => r.default)); +const LazyMarkdown = defineAsyncComponent(() => import('./_nuxt/Markdown-5e6ffda7.mjs').then((r) => r.default)); +const LazyProsePre = defineAsyncComponent(() => import('./_nuxt/ProsePre-5ec4d959.mjs').then((r) => r.default)); +const LazyProseScript = defineAsyncComponent(() => import('./_nuxt/ProseScript-bfe5d4dd.mjs').then((r) => r.default)); +const LazyIcon = defineAsyncComponent(() => Promise.resolve().then(function() { + return Icon; +}).then((r) => r.default)); +const LazyIconCSS = defineAsyncComponent(() => import('./_nuxt/IconCSS-42d1948b.mjs').then((r) => r.default)); +const lazyGlobalComponents = [ + ["AppDocSearch", LazyAppDocSearch], + ["AppFooter", LazyAppFooter], + ["AppHeader", LazyAppHeader], + ["AppHeaderDialog", LazyAppHeaderDialog], + ["AppHeaderLogo", LazyAppHeaderLogo], + ["AppHeaderNavigation", LazyAppHeaderNavigation], + ["AppLayout", LazyAppLayout], + ["AppLoadingBar", LazyAppLoadingBar], + ["AppSearch", LazyAppSearch], + ["AppSocialIcons", LazyAppSocialIcons], + ["DocumentDrivenNotFound", LazyDocumentDrivenNotFound], + ["Ellipsis", LazyEllipsis], + ["Logo", LazyLogo], + ["ThemeSelect", LazyThemeSelect], + ["DocsAside", LazyDocsAside], + ["DocsAsideTree", LazyDocsAsideTree], + ["DocsPageBottom", LazyDocsPageBottom], + ["DocsPageLayout", LazyDocsPageLayout], + ["DocsPrevNext", LazyDocsPrevNext], + ["DocsToc", LazyDocsToc], + ["DocsTocLinks", LazyDocsTocLinks], + ["EditOnLink", LazyEditOnLink], + ["SourceLink", LazySourceLink], + ["ProseA", LazyProseA], + ["ProseBlockquote", LazyProseBlockquote], + ["ProseCode", LazyProseCode], + ["ProseCodeInline", LazyProseCodeInline], + ["ProseEm", LazyProseEm], + ["ProseH1", LazyProseH1], + ["ProseH2", LazyProseH2], + ["ProseH3", LazyProseH3], + ["ProseH4", LazyProseH4], + ["ProseH5", LazyProseH5], + ["ProseH6", LazyProseH6], + ["ProseHr", LazyProseHr], + ["ProseImg", LazyProseImg], + ["ProseLi", LazyProseLi], + ["ProseOl", LazyProseOl], + ["ProseP", LazyProseP], + ["ProseStrong", LazyProseStrong], + ["ProseTable", LazyProseTable], + ["ProseTbody", LazyProseTbody], + ["ProseTd", LazyProseTd], + ["ProseTh", LazyProseTh], + ["ProseThead", LazyProseThead], + ["ProseTr", LazyProseTr], + ["ProseUl", LazyProseUl], + ["Alert", LazyAlert], + ["Badge", LazyBadge], + ["ButtonLink", LazyButtonLink], + ["Callout", LazyCallout], + ["CodeBlock", LazyCodeBlock], + ["CodeGroup", LazyCodeGroup], + ["Container", LazyContainer], + ["CopyButton", LazyCopyButton], + ["List", LazyList], + ["NuxtImg", LazyNuxtImg], + ["Props", LazyProps], + ["Sandbox", LazySandbox], + ["TabsHeader", LazyTabsHeader], + ["Terminal", LazyTerminal], + ["VideoPlayer", LazyVideoPlayer], + ["IconCodeSandBox", LazyIconCodeSandBox], + ["IconDocus", LazyIconDocus], + ["IconNuxt", LazyIconNuxt], + ["IconNuxtContent", LazyIconNuxtContent], + ["IconNuxtLabs", LazyIconNuxtLabs], + ["IconNuxtStudio", LazyIconNuxtStudio], + ["IconStackBlitz", LazyIconStackBlitz], + ["IconVueTelescope", LazyIconVueTelescope], + ["BlockHero", LazyBlockHero], + ["Card", LazyCard], + ["CardGrid", LazyCardGrid], + ["VoltaBoard", LazyVoltaBoard], + ["ComponentPlayground", LazyComponentPlayground], + ["ComponentPlaygroundData", LazyComponentPlaygroundData], + ["ComponentPlaygroundProps", LazyComponentPlaygroundProps], + ["ComponentPlaygroundSlots", LazyComponentPlaygroundSlots], + ["ComponentPlaygroundTokens", LazyComponentPlaygroundTokens], + ["PreviewLayout", LazyPreviewLayout], + ["TokensPlayground", LazyTokensPlayground], + ["ContentDoc", LazyContentDoc], + ["ContentList", LazyContentList], + ["ContentNavigation", LazyContentNavigation], + ["ContentQuery", LazyContentQuery], + ["ContentRenderer", LazyContentRenderer], + ["ContentRendererMarkdown", LazyContentRendererMarkdown], + ["MDCSlot", LazyContentSlot], + ["DocumentDrivenEmpty", LazyDocumentDrivenEmpty], + ["Markdown", LazyMarkdown], + ["ProsePre", LazyProsePre], + ["ProseScript", LazyProseScript], + ["Icon", LazyIcon], + ["IconCSS", LazyIconCSS] +]; +const components_plugin_KR1HBZs4kY = /* @__PURE__ */ defineNuxtPlugin({ + name: "nuxt:global-components", + setup(nuxtApp) { + for (const [name, component] of lazyGlobalComponents) { + nuxtApp.vueApp.component(name, component); + nuxtApp.vueApp.component("Lazy" + name, component); + } + } +}); +const useContentState = () => { + const pages = useState("dd-pages", () => shallowRef(shallowReactive({}))); + const surrounds = useState("dd-surrounds", () => shallowRef(shallowReactive({}))); + const navigation = useState("dd-navigation"); + const globals = useState("dd-globals", () => shallowRef(shallowReactive({}))); + return { + pages, + surrounds, + navigation, + globals + }; +}; +const useContent = () => { + const { navigation, pages, surrounds, globals } = useContentState(); + const _path = computed(() => withoutTrailingSlash(useRoute().path)); + const page = computed(() => pages.value[_path.value]); + const surround = computed(() => surrounds.value[_path.value]); + const toc = computed(() => { + var _a2, _b; + return (_b = (_a2 = page == null ? void 0 : page.value) == null ? void 0 : _a2.body) == null ? void 0 : _b.toc; + }); + const type = computed(() => { + var _a2; + return (_a2 = page.value) == null ? void 0 : _a2._type; + }); + const excerpt = computed(() => { + var _a2; + return (_a2 = page.value) == null ? void 0 : _a2.excerpt; + }); + const layout = computed(() => { + var _a2; + return (_a2 = page.value) == null ? void 0 : _a2.layout; + }); + const next = computed(() => { + var _a2; + return (_a2 = surround.value) == null ? void 0 : _a2[1]; + }); + const prev = computed(() => { + var _a2; + return (_a2 = surround.value) == null ? void 0 : _a2[0]; + }); + return { + // Refs + globals, + navigation, + surround, + page, + // From page + excerpt, + toc, + type, + layout, + // From surround + next, + prev + }; +}; +const navBottomLink = (link) => { + if (!link.children) { + return link._path; + } + for (const child of (link == null ? void 0 : link.children) || []) { + const result = navBottomLink(child); + if (result) { + return result; + } + } +}; +const navDirFromPath = (path, tree) => { + for (const file of tree) { + if (file._path === path && !file._id) { + return file.children; + } + if (file.children) { + const result = navDirFromPath(path, file.children); + if (result) { + return result; + } + } + } +}; +const navPageFromPath = (path, tree) => { + for (const file of tree) { + if (file._path === path) { + return file; + } + if (file.children) { + const result = navPageFromPath(path, file.children); + if (result) { + return result; + } + } + } +}; +const navKeyFromPath = (path, key, tree) => { + let value; + const goDeep = (path2, tree2) => { + for (const file of tree2) { + if (path2 !== "/" && file._path === "/") { + continue; + } + if ((path2 == null ? void 0 : path2.startsWith(file._path)) && file[key]) { + value = file[key]; + } + if (file._path === path2) { + return; + } + if (file.children) { + goDeep(path2, file.children); + } + } + }; + goDeep(path, tree); + return value; +}; +const useContentHelpers = () => { + return { + navBottomLink, + navDirFromPath, + navPageFromPath, + navKeyFromPath + }; +}; +function jsonStringify(value) { + return JSON.stringify(value, regExpReplacer); +} +function regExpReplacer(_key, value) { + if (value instanceof RegExp) { + return `--REGEX ${value.toString()}`; + } + return value; +} +const encodeQueryParams = (params) => { + let encoded = jsonStringify(params); + encoded = typeof Buffer !== "undefined" ? Buffer.from(encoded).toString("base64") : btoa(encoded); + encoded = encoded.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, ""); + const chunks = encoded.match(/.{1,100}/g) || []; + return chunks.join("/"); +}; +const useContentPreview = () => { + const getPreviewToken = () => { + return useCookie("previewToken").value || false || void 0; + }; + const setPreviewToken = (token) => { + useCookie("previewToken").value = token; + useRoute().query.preview = token || ""; + }; + const isEnabled = () => { + const query = useRoute().query; + if (Object.prototype.hasOwnProperty.call(query, "preview") && !query.preview) { + return false; + } + if (query.preview || useCookie("previewToken").value) { + return true; + } + return false; + }; + return { + isEnabled, + getPreviewToken, + setPreviewToken + }; +}; +const withContentBase = (url) => withBase(url, (/* @__PURE__ */ useRuntimeConfig()).public.content.api.baseURL); +const addPrerenderPath = (path) => { + const event = useRequestEvent(); + event.node.res.setHeader( + "x-nitro-prerender", + [ + event.node.res.getHeader("x-nitro-prerender"), + path + ].filter(Boolean).join(",") + ); +}; +const shouldUseClientDB = () => { + (/* @__PURE__ */ useRuntimeConfig()).public.content; + { + return false; + } +}; +const get$1 = (obj, path) => path.split(".").reduce((acc, part) => acc && acc[part], obj); +const _pick = (obj, condition) => Object.keys(obj).filter(condition).reduce((newObj, key) => Object.assign(newObj, { [key]: obj[key] }), {}); +const omit = (keys) => (obj) => keys && keys.length ? _pick(obj, (key) => !keys.includes(key)) : obj; +const apply = (fn) => (data) => Array.isArray(data) ? data.map((item) => fn(item)) : fn(data); +const detectProperties = (keys) => { + const prefixes = []; + const properties = []; + for (const key of keys) { + if (["$", "_"].includes(key)) { + prefixes.push(key); + } else { + properties.push(key); + } + } + return { prefixes, properties }; +}; +const withoutKeys = (keys = []) => (obj) => { + if (keys.length === 0 || !obj) { + return obj; + } + const { prefixes, properties } = detectProperties(keys); + return _pick(obj, (key) => !properties.includes(key) && !prefixes.includes(key[0])); +}; +const withKeys = (keys = []) => (obj) => { + if (keys.length === 0 || !obj) { + return obj; + } + const { prefixes, properties } = detectProperties(keys); + return _pick(obj, (key) => properties.includes(key) || prefixes.includes(key[0])); +}; +const sortList = (data, params) => { + const comperable = new Intl.Collator(params.$locale, { + numeric: params.$numeric, + caseFirst: params.$caseFirst, + sensitivity: params.$sensitivity + }); + const keys = Object.keys(params).filter((key) => !key.startsWith("$")); + for (const key of keys) { + data = data.sort((a, b) => { + const values = [get$1(a, key), get$1(b, key)].map((value) => { + if (value === null) { + return void 0; + } + if (value instanceof Date) { + return value.toISOString(); + } + return value; + }); + if (params[key] === -1) { + values.reverse(); + } + return comperable.compare(values[0], values[1]); + }); + } + return data; +}; +const assertArray = (value, message = "Expected an array") => { + if (!Array.isArray(value)) { + throw new TypeError(message); + } +}; +const ensureArray = (value) => { + return Array.isArray(value) ? value : [void 0, null].includes(value) ? [] : [value]; +}; +const arrayParams = ["sort", "where", "only", "without"]; +function createQuery(fetcher, opts = {}) { + const queryParams = {}; + for (const key of Object.keys(opts.initialParams || {})) { + queryParams[key] = arrayParams.includes(key) ? ensureArray(opts.initialParams[key]) : opts.initialParams[key]; + } + const $set = (key, fn = (v) => v) => { + return (...values) => { + queryParams[key] = fn(...values); + return query; + }; + }; + const resolveResult = (result) => { + var _a2; + if (opts.legacy) { + if (result == null ? void 0 : result.surround) { + return result.surround; + } + if (!result) { + return result; + } + if (result == null ? void 0 : result.dirConfig) { + result.result = { + _path: (_a2 = result.dirConfig) == null ? void 0 : _a2._path, + ...result.result, + _dir: result.dirConfig + }; + } + return (result == null ? void 0 : result._path) || Array.isArray(result) || !Object.prototype.hasOwnProperty.call(result, "result") ? result : result == null ? void 0 : result.result; + } + return result; + }; + const query = { + params: () => ({ + ...queryParams, + ...queryParams.where ? { where: [...ensureArray(queryParams.where)] } : {}, + ...queryParams.sort ? { sort: [...ensureArray(queryParams.sort)] } : {} + }), + only: $set("only", ensureArray), + without: $set("without", ensureArray), + where: $set("where", (q) => [...ensureArray(queryParams.where), ...ensureArray(q)]), + sort: $set("sort", (sort) => [...ensureArray(queryParams.sort), ...ensureArray(sort)]), + limit: $set("limit", (v) => parseInt(String(v), 10)), + skip: $set("skip", (v) => parseInt(String(v), 10)), + // find + find: () => fetcher(query).then(resolveResult), + findOne: () => fetcher($set("first")(true)).then(resolveResult), + count: () => fetcher($set("count")(true)).then(resolveResult), + // locale + locale: (_locale) => query.where({ _locale }), + withSurround: $set("surround", (surroundQuery, options) => ({ query: surroundQuery, ...options })), + withDirConfig: () => $set("dirConfig")(true) + }; + if (opts.legacy) { + query.findSurround = (surroundQuery, options) => { + return query.withSurround(surroundQuery, options).find().then(resolveResult); + }; + return query; + } + return query; +} +const createQueryFetch = () => async (query) => { + const { content } = (/* @__PURE__ */ useRuntimeConfig()).public; + const params = query.params(); + const apiPath = content.experimental.stripQueryParameters ? withContentBase(`/query/${`${hash(params)}.${content.integrity}`}/${encodeQueryParams(params)}.json`) : withContentBase(`/query/${hash(params)}.${content.integrity}.json`); + { + addPrerenderPath(apiPath); + } + if (shouldUseClientDB()) { + const db = await import('./_nuxt/client-db-bb78acf6.mjs').then((m) => m.useContentDatabase()); + return db.fetch(query); + } + const data = await $fetch(apiPath, { + method: "GET", + responseType: "json", + params: content.experimental.stripQueryParameters ? void 0 : { + _params: jsonStringify(params), + previewToken: useContentPreview().getPreviewToken() + } + }); + if (typeof data === "string" && data.startsWith("")) { + throw new Error("Not found"); + } + return data; +}; +function queryContent(query, ...pathParts) { + const { content } = (/* @__PURE__ */ useRuntimeConfig()).public; + const queryBuilder = createQuery(createQueryFetch(), { + initialParams: typeof query !== "string" ? query : {}, + legacy: true + }); + let path; + if (typeof query === "string") { + path = withLeadingSlash(joinURL(query, ...pathParts)); + } + const originalParamsFn = queryBuilder.params; + queryBuilder.params = () => { + var _a2, _b, _c; + const params = originalParamsFn(); + if (path) { + params.where = params.where || []; + if (params.first && (params.where || []).length === 0) { + params.where.push({ _path: withoutTrailingSlash(path) }); + } else { + params.where.push({ _path: new RegExp(`^${path.replace(/[-[\]{}()*+.,^$\s/]/g, "\\$&")}`) }); + } + } + if (!((_a2 = params.sort) == null ? void 0 : _a2.length)) { + params.sort = [{ _file: 1, $numeric: true }]; + } + if (content.locales.length) { + const queryLocale = (_c = (_b = params.where) == null ? void 0 : _b.find((w) => w._locale)) == null ? void 0 : _c._locale; + if (!queryLocale) { + params.where = params.where || []; + params.where.push({ _locale: content.defaultLocale }); + } + } + return params; + }; + return queryBuilder; +} +const fetchContentNavigation = async (queryBuilder) => { + const { content } = (/* @__PURE__ */ useRuntimeConfig()).public; + if (typeof (queryBuilder == null ? void 0 : queryBuilder.params) !== "function") { + queryBuilder = queryContent(queryBuilder); + } + const params = queryBuilder.params(); + const apiPath = content.experimental.stripQueryParameters ? withContentBase(`/navigation/${`${hash(params)}.${content.integrity}`}/${encodeQueryParams(params)}.json`) : withContentBase(`/navigation/${hash(params)}.${content.integrity}.json`); + { + addPrerenderPath(apiPath); + } + if (shouldUseClientDB()) { + const generateNavigation = await import('./_nuxt/client-db-bb78acf6.mjs').then((m) => m.generateNavigation); + return generateNavigation(params); + } + const data = await $fetch(apiPath, { + method: "GET", + responseType: "json", + params: content.experimental.stripQueryParameters ? void 0 : { + _params: jsonStringify(params), + previewToken: useContentPreview().getPreviewToken() + } + }); + if (typeof data === "string" && data.startsWith("")) { + throw new Error("Not found"); + } + return data; +}; +const layouts = { + default: () => import('./_nuxt/default-dedac01e.mjs').then((m) => m.default || m), + page: () => import('./_nuxt/page-d529b072.mjs').then((m) => m.default || m) +}; +const documentDriven_6F9UCgkXVS = /* @__PURE__ */ defineNuxtPlugin((nuxt) => { + var _a2, _b, _c, _d; + const moduleOptions = (_b = (_a2 = /* @__PURE__ */ useRuntimeConfig()) == null ? void 0 : _a2.public) == null ? void 0 : _b.content.documentDriven; + (_d = (_c = /* @__PURE__ */ useRuntimeConfig()) == null ? void 0 : _c.public) == null ? void 0 : _d.content.experimental.clientDB; + const { navigation, pages, globals, surrounds } = useContentState(); + const findLayout = (to, page, navigation2, globals2) => { + var _a3; + if (page && (page == null ? void 0 : page.layout)) { + return page.layout; + } + if (to.matched.length && ((_a3 = to.matched[0].meta) == null ? void 0 : _a3.layout)) { + return to.matched[0].meta.layout; + } + if (navigation2 && page) { + const { navKeyFromPath: navKeyFromPath2 } = useContentHelpers(); + const layoutFromNav = navKeyFromPath2(page._path, "layout", navigation2); + if (layoutFromNav) { + return layoutFromNav; + } + } + if (moduleOptions.layoutFallbacks && globals2) { + let layoutFallback; + for (const fallback of moduleOptions.layoutFallbacks) { + if (globals2[fallback] && globals2[fallback].layout) { + layoutFallback = globals2[fallback].layout; + break; + } + } + if (layoutFallback) { + return layoutFallback; + } + } + return "default"; + }; + const refresh = async (to, dedup = false) => { + nuxt.callHook("content:document-driven:start", { route: to, dedup }); + const routeConfig = to.meta.documentDriven || {}; + if (to.meta.documentDriven === false) { + return; + } + const _path = withoutTrailingSlash(to.path); + const promises = []; + if (moduleOptions.navigation && routeConfig.navigation !== false) { + const navigationQuery = () => { + const { navigation: navigation2 } = useContentState(); + if (navigation2.value && !dedup) { + return navigation2.value; + } + return fetchContentNavigation().then((_navigation) => { + navigation2.value = _navigation; + return _navigation; + }).catch(() => null); + }; + promises.push(navigationQuery); + } else { + promises.push(() => Promise.resolve(null)); + } + if (moduleOptions.globals) { + const globalsQuery = () => { + const { globals: globals2 } = useContentState(); + if (typeof moduleOptions.globals === "object" && Array.isArray(moduleOptions.globals)) { + console.log("Globals must be a list of keys with QueryBuilderParams as a value."); + return; + } + return Promise.all( + Object.entries(moduleOptions.globals).map( + ([key, query]) => { + if (!dedup && globals2.value[key]) { + return globals2.value[key]; + } + let type = "findOne"; + if (query == null ? void 0 : query.type) { + type = query.type; + } + return queryContent(query)[type]().catch(() => null); + } + ) + ).then( + (values) => { + return values.reduce( + (acc, value, index) => { + const key = Object.keys(moduleOptions.globals)[index]; + acc[key] = value; + return acc; + }, + {} + ); + } + ); + }; + promises.push(globalsQuery); + } else { + promises.push(() => Promise.resolve(null)); + } + if (moduleOptions.page && routeConfig.page !== false) { + let where = { _path }; + if (typeof routeConfig.page === "string") { + where = { _path: routeConfig.page }; + } + if (typeof routeConfig.page === "object") { + where = routeConfig.page; + } + const pageQuery = () => { + const { pages: pages2 } = useContentState(); + if (!dedup && pages2.value[_path] && pages2.value[_path]._path === _path) { + return pages2.value[_path]; + } + return queryContent().where(where).findOne().catch(() => null); + }; + promises.push(pageQuery); + } else { + promises.push(() => Promise.resolve(null)); + } + if (moduleOptions.surround && routeConfig.surround !== false) { + let surround = _path; + if (["string", "object"].includes(typeof routeConfig.page)) { + surround = routeConfig.page; + } + if (["string", "object"].includes(typeof routeConfig.surround)) { + surround = routeConfig.surround; + } + const surroundQuery = () => { + const { surrounds: surrounds2 } = useContentState(); + if (!dedup && surrounds2.value[_path]) { + return surrounds2.value[_path]; + } + return queryContent().where({ + _partial: { $not: true }, + navigation: { $not: false } + }).without(["body"]).findSurround(surround).catch(() => null); + }; + promises.push(surroundQuery); + } else { + promises.push(() => Promise.resolve(null)); + } + return await Promise.all(promises.map((promise) => promise())).then(async ([ + _navigation, + _globals, + _page, + _surround + ]) => { + var _a3, _b2; + if (_navigation) { + navigation.value = _navigation; + } + if (_globals) { + globals.value = _globals; + } + if (_surround) { + surrounds.value[_path] = _surround; + } + const redirectTo = (_page == null ? void 0 : _page.redirect) || ((_b2 = (_a3 = _page == null ? void 0 : _page._dir) == null ? void 0 : _a3.navigation) == null ? void 0 : _b2.redirect); + if (redirectTo) { + pages.value[_path] = _page; + return redirectTo; + } + if (_page) { + const layoutName = findLayout(to, _page, _navigation, _globals); + const layout = layouts[layoutName]; + if (layout && typeof layout === "function") { + await layout(); + } + to.meta.layout = layoutName; + _page.layout = layoutName; + } + pages.value[_path] = _page; + await nuxt.callHook("content:document-driven:finish", { route: to, dedup, page: _page, navigation: _navigation, globals: _globals, surround: _surround }); + }); + }; + addRouteMiddleware(async (to, from) => { + const redirect = await refresh(to, false); + if (redirect) { + if (hasProtocol(redirect)) { + return callWithNuxt(nuxt, navigateTo, [redirect, { external: true }]); + } else { + return redirect; + } + } + }); + nuxt.hook("app:data:refresh", async () => false); +}); +const referencesRegex = new RegExp( + "\\{([^}]+)\\}", + "g" +); +const DARK = "@dark"; +const LIGHT = "@light"; +const INITIAL = "@initial"; +function set(object, paths, value, splitter = ".") { + if (typeof paths === "string") { + paths = paths.split(splitter); + } + const limit = paths.length - 1; + for (let i = 0; i < limit; ++i) { + const key2 = paths[i]; + object = object[key2] ?? (object[key2] = {}); + } + const key = paths[limit]; + object[key] = value; +} +function get(object, paths, splitter = ".") { + if (typeof paths === "string") { + paths = paths.split(splitter); + } + const limit = paths.length - 1; + for (let i = 0; i < limit; ++i) { + const key2 = paths[i]; + object = object[key2] ?? (object[key2] = {}); + } + const key = paths[limit]; + return object[key]; +} +function walkTokens(obj, cb, paths = []) { + let result = {}; + if (obj.value) { + result = cb(obj, result, paths); + } else { + for (const k in obj) { + if (obj[k] && typeof obj[k] === "object") { + result[k] = walkTokens(obj[k], cb, [...paths, k]); + } + } + } + return result; +} +function normalizeConfig(obj, mqKeys, removeSchemaKeys = false) { + let result = {}; + if (obj.value) { + result = obj; + } else { + for (const k in obj) { + if (k === "$schema") { + if (!removeSchemaKeys) { + result[k] = obj[k]; + } + continue; + } + if (k === "utils") { + result[k] = obj[k]; + continue; + } + if (obj[k] && (typeof obj[k] === "string" || typeof obj[k] === "number" || typeof obj[k] === "boolean" || typeof obj[k] === "symbol" || typeof obj[k] === "bigint")) { + result[k] = { value: obj[k] }; + } else if (obj[k] && typeof obj[k] === "object") { + const keys = Object.keys(obj[k]); + if (keys.includes("initial") && keys.some((key) => mqKeys.includes(key))) { + result[k] = { value: obj[k] }; + continue; + } + result[k] = normalizeConfig(obj[k], mqKeys, removeSchemaKeys); + } + } + } + return result; +} +function createTokensHelper(theme2 = {}, options = {}) { + const defaultHelperOptions = { + key: "attributes.variable", + onNotFound: false, + ...options + }; + function $tokens(path = void 0, options2) { + if (!path) { + return unref(theme2); + } + const $tokensOptions = { ...defaultHelperOptions, ...options2 }; + const { key, onNotFound } = $tokensOptions; + const token = get(unref(theme2), path); + if (!token && typeof onNotFound === "function") { + onNotFound(path, $tokensOptions); + return; + } + return key ? token ? token[key] ? token[key] : get(token, key) : token : token; + } + return $tokens.bind(this); +} +function pathToVarName(path) { + if (Array.isArray(path)) { + path = path.join("-"); + } + if (path.charAt(0) === "{" && path.charAt(path.length - 1) === "}") { + path = path.substr(1, path.length - 2); + } + return `--${path.split(".").join("-")}`; +} +function resolveCssProperty(property, value, style, selectors, localTokens = [], ctx, loc) { + var _a2; + const directive = resolveCustomDirectives(property, value, selectors, ctx, loc); + if (directive) { + return directive; + } + if ((_a2 = ctx == null ? void 0 : ctx.utils) == null ? void 0 : _a2[property]) { + if (typeof ctx.utils[property] === "function") { + return ctx.utils[property](value); + } + return value ? ctx.utils[property] : {}; + } + value = castValues(property, value, localTokens, ctx, loc); + return { + [property]: value + }; +} +function castValues(property, value, localTokens, ctx, loc) { + if (Array.isArray(value) || typeof value === "string" || typeof value === "number") { + if (Array.isArray(value)) { + value = value.map((v) => castValue(property, v, localTokens, ctx, loc)).join(","); + } else { + value = castValue(property, value, localTokens, ctx, loc); + } + } + return value; +} +function castValue(property, value, localTokens, ctx, loc) { + if (typeof value === "number") { + return value; + } + if (value.match(referencesRegex)) { + value = resolveReferences(property, value, localTokens, ctx, loc); + } + if (value === "{}") { + return ""; + } + return value; +} +function resolveReferences(_, value, localTokens, ctx, loc) { + if (!(typeof value === "string")) { + return value; + } + value = value.replace( + referencesRegex, + (_2, tokenPath) => { + const varName = pathToVarName(tokenPath); + const variable = `var(${varName})`; + if (localTokens.includes(varName)) { + return variable; + } + const token = ctx.$tokens(tokenPath, { key: void 0, loc }); + const tokenValue = typeof token === "string" ? token : (token == null ? void 0 : token.variable) || (token == null ? void 0 : token.value); + if (!tokenValue) { + return variable; + } + return tokenValue; + } + ); + return value; +} +function resolveCustomDirectives(property, value, selectors, ctx, loc) { + if (property.startsWith("@")) { + const resolveColorScheme = (scheme) => { + scheme = ctx.options.colorSchemeMode === "class" ? `:root.${scheme}` : `@media (prefers-color-scheme: ${scheme})`; + const isMedia = scheme.startsWith("@media"); + if (ctx == null ? void 0 : ctx.runtime) { + return { + "@media": { + [scheme]: value + } + }; + } + return { + [isMedia ? scheme : `${scheme} &`]: value + }; + }; + if (property === DARK) { + return resolveColorScheme("dark"); + } + if (property === LIGHT) { + return resolveColorScheme("light"); + } + if (property === INITIAL) { + const token = ctx.$tokens("media.initial", { key: "value", onNotFound: false, loc }); + return { + [`@media${token ? ` ${token}` : ""}`]: value + }; + } + const mediaQueries = ctx.$tokens("media", { key: void 0, loc }); + if (mediaQueries) { + const query = property.replace("@", ""); + if (mediaQueries[query]) { + return { + [`@media ${mediaQueries[query].value}`]: value + }; + } + } + return { + [property]: value + }; + } +} +function resolveThemeRule(mq, content, theme2, colorSchemeMode) { + var _a2; + let responsiveSelector = ""; + if (mq === "dark" || mq === "light") { + if (colorSchemeMode === "class") { + responsiveSelector = `:root.${mq}`; + } else { + responsiveSelector = `(prefers-color-scheme: ${mq})`; + } + } else if (mq !== "initial" && theme2) { + const queryToken = (_a2 = theme2 == null ? void 0 : theme2.media) == null ? void 0 : _a2[mq]; + if (queryToken) { + responsiveSelector = queryToken.value; + } + } + let prefix; + if (!responsiveSelector) { + prefix = "@media { :root {"; + } else if (responsiveSelector.startsWith(".")) { + prefix = `@media { :root${responsiveSelector} {`; + } else if (responsiveSelector.startsWith(":root")) { + prefix = `@media { ${responsiveSelector} {`; + } else { + prefix = `@media ${responsiveSelector} { :root {`; + } + return `${`${`${prefix}--pinceau-mq: ${String(mq)}; ${content}`} } }`} +`; +} +const comma = /\s*,\s*(?![^()]*\))/; +const getResolvedSelectors = (parentSelectors, nestedSelectors) => parentSelectors.reduce( + (resolvedSelectors, parentSelector) => { + resolvedSelectors.push( + ...nestedSelectors.map( + (selector) => selector.includes("&") ? selector.replace( + /&/g, + /[ +>|~]/.test(parentSelector) && /&.*&/.test(selector) ? `:is(${parentSelector})` : parentSelector + ) : `${parentSelector} ${selector}` + ) + ); + return resolvedSelectors; + }, + [] +); +const { prototype: { toString } } = Object; +const stringify = (value, replacer = void 0) => { + const used = /* @__PURE__ */ new WeakSet(); + const write = (cssText, selectors, conditions, name, data, isAtRuleLike, isVariableLike) => { + for (let i = 0; i < conditions.length; ++i) { + if (!used.has(conditions[i])) { + used.add(conditions[i]); + cssText += `${conditions[i]}{`; + } + } + if (selectors.length && !used.has(selectors)) { + used.add(selectors); + cssText += `${selectors}{`; + } + if (isAtRuleLike) { + name = `${name} `; + } else if (isVariableLike) { + name = `${name}:`; + } else { + name = `${kebabCase(name)}:`; + } + cssText += `${name + String(data)};`; + return cssText; + }; + const parse2 = (style, selectors, conditions, prevName, prevData) => { + let cssText = ""; + for (const name in style) { + const isAtRuleLike = name.charCodeAt(0) === 64; + const isVariableLike = name.charCodeAt(0) === 45 && name.charCodeAt(1) === 45; + for (const data of isAtRuleLike && Array.isArray(style[name]) ? style[name] : [style[name]]) { + if (replacer && (name !== prevName || data !== prevData)) { + const next = replacer(name, data, style, selectors); + if (next !== null) { + cssText += typeof next === "object" && next ? parse2(next, selectors, conditions, name, data) : next == null ? "" : next; + continue; + } + } + const isObjectLike = typeof data === "object" && data && data.toString === toString; + if (isObjectLike) { + if (used.has(selectors)) { + used.delete(selectors); + cssText += "}"; + } + const usedName = Object(name); + let nextSelectors; + if (isAtRuleLike) { + nextSelectors = selectors; + cssText += parse2( + data, + nextSelectors, + conditions.concat(usedName) + ); + } else { + nextSelectors = selectors.length ? getResolvedSelectors(selectors, name.split(comma)) : name.split(comma); + cssText += parse2( + data, + nextSelectors, + conditions + ); + } + if (used.has(usedName)) { + used.delete(usedName); + cssText += "}"; + } + if (used.has(nextSelectors)) { + used.delete(nextSelectors); + cssText += "}"; + } + } else { + cssText = write(cssText, selectors, conditions, name, data, isAtRuleLike, isVariableLike); + } + } + } + return cssText; + }; + return parse2(value, [], []); +}; +const HYDRATION_SELECTOR = ".phy[--]"; +function usePinceauRuntimeSheet($tokens, initialUtils = {}, colorSchemeMode, appId) { + const sheet = ref(); + const utils2 = ref(initialUtils); + const cache = {}; + const stringify$1 = (decl, loc) => stringify( + decl, + (property, value, style, selectors) => resolveCssProperty( + property, + value, + style, + selectors, + [], + { $tokens, utils: utils2.value, options: { colorSchemeMode, runtime: true } }, + loc + ) + ); + function resolveStylesheet() { + const global2 = globalThis || window; + let style; + let hydratableSheet; + if (global2 && global2.document) { + const fullId = `pinceau-runtime${appId ? `-${appId}` : ""}`; + const doc = global2.document; + style = doc.querySelector(`style#${fullId}`); + if (!style) { + const styleNode = doc.createElement("style"); + styleNode.id = fullId; + styleNode.type = "text/css"; + style = doc.head.appendChild(styleNode); + } + hydratableSheet = doc.querySelector(`style#pinceau-runtime-hydratable${appId ? `-${appId}` : ""}`); + } + sheet.value = (style == null ? void 0 : style.sheet) || getSSRStylesheet(); + return hydratableSheet ? hydrateStylesheet(hydratableSheet) : void 0; + } + function hydrateStylesheet(el) { + var _a2, _b; + const hydratableRules2 = {}; + for (const _rule of Object.entries(((_a2 = el == null ? void 0 : el.sheet) == null ? void 0 : _a2.cssRules) || ((_b = sheet.value) == null ? void 0 : _b.cssRules) || {})) { + const [index, rule] = _rule; + const uids = resolveUid(rule); + if (!uids || !uids.uid) { + continue; + } + if (!hydratableRules2[uids.uid]) { + hydratableRules2[uids.uid] = {}; + } + const newIndex = sheet.value.insertRule(rule.cssText, Number(index)); + hydratableRules2[uids.uid][uids.type] = sheet.value.cssRules.item(newIndex); + } + if (el) { + el.remove(); + } + return hydratableRules2; + } + function toString2() { + if (!sheet.value) { + return ""; + } + return Object.entries(sheet.value.cssRules).reduce( + (acc, [, rule]) => { + acc += `${rule == null ? void 0 : rule.cssText} ` || ""; + return acc; + }, + "" + ); + } + function pushDeclaration(uid, type, declaration, previousRule, loc) { + if (!Object.keys(declaration).length) { + return; + } + const cssText = stringify$1( + { + "@media": { + // Mark inserted declaration with unique id and type of runtime style + [HYDRATION_SELECTOR]: { "--puid": `${uid}-${type}` }, + ...declaration + } + }, + loc + ); + if (!cssText) { + return; + } + if (previousRule) { + deleteRule(previousRule); + } + const ruleId = sheet.value.insertRule(cssText); + return sheet.value.cssRules[ruleId]; + } + function deleteRule(rule) { + const ruleIndex = Object.values(sheet.value.cssRules).indexOf(rule); + if (typeof ruleIndex === "undefined" || isNaN(ruleIndex)) { + return; + } + try { + sheet.value.deleteRule(ruleIndex); + } catch (e) { + } + } + const hydratableRules = resolveStylesheet(); + return { + stringify: stringify$1, + cache, + pushDeclaration, + deleteRule, + sheet, + toString: toString2, + hydratableRules + }; +} +function getSSRStylesheet() { + return { + cssRules: [], + insertRule(cssText, index = this.cssRules.length) { + this.cssRules.splice(index, 1, { cssText }); + return index; + }, + deleteRule(index) { + delete this.cssRules[index]; + } + }; +} +function resolveUid(rule) { + const uidRule = rule.cssRules && rule.cssRules.length ? Object.entries(rule == null ? void 0 : rule.cssRules).find(([_, rule2]) => rule2.selectorText === HYDRATION_SELECTOR) : void 0; + if (!uidRule) { + return; + } + const uidRegex = /--puid:(.*)?-(c|v|p)?/m; + const [, uid, type] = uidRule[1].cssText.match(uidRegex); + if (!uid) { + return; + } + return { uid, type }; +} +function usePinceauRuntimeIds(instance, classes, _) { + var _a2, _b, _c; + let uid; + const el = (_a2 = instance == null ? void 0 : instance.vnode) == null ? void 0 : _a2.el; + if (el && el.classList) { + el.classList.forEach( + (elClass) => { + if (uid) { + return; + } + if (elClass.startsWith("pc-")) { + uid = elClass.split("pc-")[1]; + } + } + ); + } else { + uid = nanoid(6); + } + const scopeId = (_c = (_b = instance == null ? void 0 : instance.vnode) == null ? void 0 : _b.type) == null ? void 0 : _c.__scopeId; + const ids = { + uid, + componentId: scopeId ? `[${scopeId}]` : "", + uniqueClassName: `pc-${uid}` + }; + classes.value.c = ids.uniqueClassName; + return computed(() => ids); +} +function usePinceauThemeSheet(initialTheme, tokensHelperConfig = {}, colorSchemeMode) { + const sheet = ref(); + const theme2 = ref(initialTheme || {}); + tokensHelperConfig = Object.assign( + { + key: "variable" + }, + tokensHelperConfig || {} + ); + const $tokens = createTokensHelper( + theme2, + tokensHelperConfig + ); + let cache = {}; + resolveStylesheet(); + function findThemeSheet(document2) { + var _a2; + for (const sheet2 of document2.styleSheets) { + if ((_a2 = sheet2 == null ? void 0 : sheet2.ownerNode) == null ? void 0 : _a2.textContent.includes("--pinceau-mq")) { + return sheet2.ownerNode; + } + } + } + function resolveStylesheet() { + var _a2; + const global2 = globalThis || window; + if (global2 && global2.document) { + let sheetElement = document.querySelector("#pinceau-theme"); + if (!sheetElement) { + sheetElement = findThemeSheet(document); + } + sheet.value = sheetElement == null ? void 0 : sheetElement.sheet; + if (sheet.value) { + hydrateStylesheet((_a2 = sheet.value) == null ? void 0 : _a2.cssRules); + } + } + } + function hydrateStylesheet(cssRules) { + cache = {}; + Object.entries(cssRules || {}).forEach( + ([_, rule]) => { + var _a2, _b; + if ((rule == null ? void 0 : rule.type) !== 4 && !((_a2 = rule == null ? void 0 : rule.cssText) == null ? void 0 : _a2.includes("--pinceau-mq"))) { + return false; + } + let currentTheme = "initial"; + (_b = rule.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm)) == null ? void 0 : _b.forEach((match) => { + var _a3; + const [variable, value] = match.replace(";", "").split(/:\s(.*)/s); + if (variable === "--pinceau-mq") { + currentTheme = value; + if (!cache[value]) { + const ruleReference = (_a3 = Object.entries((rule == null ? void 0 : rule.cssRules) || {}).find(([_2, cssRule]) => cssRule == null ? void 0 : cssRule.cssText.includes(`--pinceau-mq: ${value}`))) == null ? void 0 : _a3[1]; + if (ruleReference) { + cache[value] = ruleReference; + } + } + return; + } + const path = [...variable.substring(2).split("-")]; + set(theme2.value, path, getSetValue(path, value, variable, currentTheme)); + }); + } + ); + } + function updateTheme(value) { + var _a2; + const mqKeys = Array.from(/* @__PURE__ */ new Set(["dark", "light", ...Object.keys((value == null ? void 0 : value.media) || {}), ...Object.keys(((_a2 = theme2.value) == null ? void 0 : _a2.media) || {})])); + const config = normalizeConfig(value || {}, mqKeys, true); + walkTokens(config, (token, _, paths) => updateToken(paths, token.value)); + } + function updateToken(path, value, mq = "initial") { + var _a2; + if (typeof value === "object") { + Object.entries(value).forEach(([mq2, mqValue]) => updateToken(path, mqValue, mq2)); + return; + } + const varName = pathToVarName(path); + if (!(cache == null ? void 0 : cache[mq])) { + createMqRule(mq); + } + const resolvedValue = resolveReferences(void 0, value, [], { $tokens }); + set( + theme2.value, + path, + getSetValue(path, resolvedValue, varName, mq) + ); + (_a2 = cache == null ? void 0 : cache[mq]) == null ? void 0 : _a2.style.setProperty(varName, resolvedValue); + } + function reactiveToken(path) { + return computed( + { + get() { + return get(theme2.value, `${path}.value`); + }, + set(v) { + updateToken(path, v); + } + } + ); + } + function getSetValue(path, value, variable, mq = "initial") { + const setValue = { value, variable: `var(${variable})` }; + const existingValue = get(theme2.value, path); + if (existingValue && !variable.startsWith("--media")) { + if (typeof (existingValue == null ? void 0 : existingValue.value) === "object") { + setValue.value = { ...existingValue.value, [mq]: value }; + } else { + setValue.value = { initial: existingValue.value, [mq]: value }; + } + } + return setValue; + } + function createMqRule(mq) { + if (cache == null ? void 0 : cache[mq]) { + return cache == null ? void 0 : cache[mq]; + } + const mqRule = resolveThemeRule(mq, "", theme2.value, colorSchemeMode); + const newRule = sheet.value.insertRule(mqRule, sheet.value.cssRules.length); + cache[mq] = sheet.value.cssRules.item(newRule).cssRules[0]; + return cache[mq]; + } + return { + $tokens, + updateToken, + updateTheme, + reactiveToken, + resolveStylesheet, + theme: theme2 + }; +} +function usePinceauComputedStyles(ids, computedStyles, sheet, loc) { + var _a2, _b; + let rule = (_b = (_a2 = sheet.hydratableRules) == null ? void 0 : _a2[ids.value.uid]) == null ? void 0 : _b.c; + watch( + () => computedStyles, + (newComputedStyles) => { + newComputedStyles = computedStylesToDeclaration(ids.value, newComputedStyles); + rule = sheet.pushDeclaration( + ids.value.uid, + "c", + newComputedStyles, + rule, + { ...loc, type: "c" } + ); + }, + { + immediate: !rule, + deep: true + } + ); + onScopeDispose(() => rule && sheet.deleteRule(rule)); +} +function computedStylesToDeclaration(ids, computedStyles) { + const declaration = {}; + const targetId = `.${ids.uniqueClassName}${ids.componentId}`; + if (computedStyles && Object.keys(computedStyles).length) { + declaration[targetId] = declaration[targetId] || {}; + for (const [varName, _value] of Object.entries(computedStyles)) { + const value = unref(_value); + if (varName === "css") { + declaration[targetId] = Object.assign(declaration[targetId], value); + continue; + } + if (typeof value === "object") { + for (const [mqId, mqPropValue] of Object.entries(value)) { + const _value2 = unref(mqPropValue); + if (!_value2) { + continue; + } + if (mqId === "initial") { + if (!declaration[targetId]) { + declaration[targetId] = {}; + } + if (!declaration[targetId]) { + declaration[targetId] = {}; + } + declaration[targetId][`--${varName}`] = _value2; + } + const mediaId = `@${mqId}`; + if (!declaration[mediaId]) { + declaration[mediaId] = {}; + } + if (!declaration[mediaId][targetId]) { + declaration[mediaId][targetId] = {}; + } + declaration[mediaId][targetId][`--${kebabCase(varName)}`] = _value2; + } + } else { + const _value2 = unref(value); + if (_value2) { + declaration[targetId][`--${kebabCase(varName)}`] = _value2; + } + } + } + } + return declaration; +} +const usePinceauVariants = (ids, variants, props, sheet, classes, loc) => { + var _a2, _b; + let rule = (_b = (_a2 = sheet.hydratableRules) == null ? void 0 : _a2[ids.value.uid]) == null ? void 0 : _b.v; + const variantsState = computed(() => variants ? resolveVariantsState(ids.value, props, variants) : {}); + const variantsClasses = ref([]); + watch( + variantsState, + ({ cacheId, variantsProps }) => { + let variantClass; + if (sheet.cache[cacheId]) { + const cachedRule = sheet.cache[cacheId]; + rule = cachedRule.rule; + variantClass = cachedRule.variantClass; + if (cachedRule == null ? void 0 : cachedRule.classes) { + variantsClasses.value = cachedRule.classes; + } + cachedRule.count++; + } else { + variantClass = `pv-${nanoid(6)}`; + const { declaration, classes: classes2 } = variantsToDeclaration(variantClass, ids.value, variants, variantsProps); + variantsClasses.value = classes2; + rule = sheet.pushDeclaration(ids.value.uid, "v", declaration, void 0, { ...loc, type: "v" }); + sheet.cache[cacheId] = { rule, variantClass, classes: classes2, count: 1 }; + } + classes.value.v = variantClass; + }, + { + immediate: true + } + ); + onScopeDispose( + () => { + var _a3; + const state = variantsState == null ? void 0 : variantsState.value; + const cachedRule = (_a3 = sheet.cache) == null ? void 0 : _a3[state.cacheId]; + if (cachedRule) { + cachedRule.count--; + if (cachedRule.count <= 0) { + sheet.deleteRule(cachedRule.rule); + delete sheet.cache[state.cacheId]; + } + } + } + ); + return { variantsClasses }; +}; +function variantsToDeclaration(variantClass, ids, variants, props) { + var _a2, _b; + let classes = []; + const declaration = {}; + if (props && Object.keys(props).length) { + const targetId = `.${variantClass}`; + for (const [propName, propValue] of Object.entries(props)) { + if (typeof propValue === "object") { + for (const [mqId, mqPropValue] of Object.entries(propValue)) { + const _value = (mqPropValue == null ? void 0 : mqPropValue.toString()) || mqPropValue; + const variantValue = variants[propName][_value]; + if (!variantValue) { + continue; + } + if (!declaration[targetId]) { + declaration[targetId] = {}; + } + if (typeof variantValue === "string" || Array.isArray(variantValue) || (variantValue == null ? void 0 : variantValue.$class)) { + const classAttr = typeof variantValue === "string" || Array.isArray(variantValue) ? variantValue : variantValue.$class; + classes = [ + ...classes, + ...typeof classAttr === "string" ? classAttr.split(" ") : classAttr + ]; + delete variantValue.$class; + } + if (mqId === "initial") { + if (!declaration[targetId]) { + declaration[targetId] = {}; + } + declaration[targetId] = defu(declaration[targetId], variantValue); + } + const mediaId = `@${mqId}`; + if (!declaration[mediaId]) { + declaration[mediaId] = {}; + } + if (!declaration[mediaId][targetId]) { + declaration[mediaId][targetId] = {}; + } + declaration[mediaId][targetId] = defu(declaration[mediaId][targetId], variantValue); + } + } else { + const _value = ((_a2 = propValue == null ? void 0 : propValue.toString) == null ? void 0 : _a2.call(propValue)) || propValue; + const variantValue = (_b = variants == null ? void 0 : variants[propName]) == null ? void 0 : _b[_value]; + if (!variantValue) { + continue; + } + if (!declaration[targetId]) { + declaration[targetId] = {}; + } + declaration[targetId] = defu(declaration[targetId], variantValue); + } + } + } + return { declaration, classes }; +} +function resolveVariantsState(ids, props, variants) { + if (!props || !variants) { + return {}; + } + let cacheId = ids.componentId; + const variantsProps = Object.entries(props).reduce( + (acc, [propName, propValue]) => { + if (!variants[propName]) { + return acc; + } + if (typeof propValue === "object") { + Object.entries(propValue).forEach(([key, value]) => cacheId += `${propName}:${key}:${value}|`); + } else { + cacheId += `${propName}:${propValue}|`; + } + acc[propName] = propValue; + return acc; + }, + {} + ); + return { cacheId, variantsProps }; +} +function usePinceauCssProp(ids, props, sheet, loc) { + var _a2, _b; + let rule = (_b = (_a2 = sheet.hydratableRules) == null ? void 0 : _a2[ids.value.uid]) == null ? void 0 : _b.p; + const css = computed(() => props == null ? void 0 : props.css); + watch( + css, + (newCss) => { + newCss = transformCssPropToDeclaration(ids.value, newCss); + if (rule) { + sheet.deleteRule(rule); + } + rule = sheet.pushDeclaration( + ids.value.uid, + "p", + newCss, + rule, + { ...loc, type: "c" } + ); + }, + { + immediate: !rule + } + ); + onScopeDispose(() => rule && sheet.deleteRule(rule)); +} +function transformCssPropToDeclaration(ids, css) { + const declaration = {}; + if (css) { + const targetId = `.${ids.uniqueClassName}${ids.componentId}`; + declaration[targetId] = Object.assign(declaration[targetId] || {}, css); + } + return declaration; +} +const defaultRuntimeOptions = { + theme: {}, + utils: {}, + tokensHelperConfig: {}, + multiApp: false, + colorSchemeMode: "media", + dev: "production" !== "production" +}; +const plugin = { + install(app, options) { + options = Object.assign(defaultRuntimeOptions, options); + const { theme: theme2, tokensHelperConfig, dev, multiApp, colorSchemeMode, utils: utils2 } = options; + const themeSheet = usePinceauThemeSheet(theme2, tokensHelperConfig, colorSchemeMode); + if (dev && true) { + import('./_nuxt/debug-43adc91a.mjs').then(({ usePinceauRuntimeDebug }) => usePinceauRuntimeDebug(tokensHelperConfig)); + } + const multiAppId = multiApp ? nanoid(6) : void 0; + const runtimeSheet = usePinceauRuntimeSheet(themeSheet.$tokens, utils2, colorSchemeMode, multiAppId); + function usePinceauRuntime2(props = {}, variants, computedStyles) { + const instance = getCurrentInstance(); + let loc; + if (dev && true) { + const { __file: file, __name: name } = instance.vnode.type; + loc = { file, name }; + } + const classes = ref({ + // Variants class + v: "", + // Unique class + c: "" + }); + const ids = usePinceauRuntimeIds(instance, classes); + if (computedStyles && Object.keys(computedStyles).length > 0) { + usePinceauComputedStyles(ids, computedStyles, runtimeSheet, loc); + } + let dynamicVariantClasses; + if (variants && Object.keys(variants).length > 0) { + const { variantsClasses } = usePinceauVariants(ids, variants, props, runtimeSheet, classes, loc); + dynamicVariantClasses = variantsClasses; + } + if ((props == null ? void 0 : props.css) && Object.keys(props == null ? void 0 : props.css).length > 0) { + usePinceauCssProp(ids, props, runtimeSheet, loc); + } + return { $pinceau: computed(() => { + var _a2; + return [classes.value.v, classes.value.c, (_a2 = dynamicVariantClasses == null ? void 0 : dynamicVariantClasses.value) == null ? void 0 : _a2.join(" ")].join(" "); + }) }; + } + app.config.globalProperties.$pinceauRuntime = usePinceauRuntime2; + app.config.globalProperties.$pinceauTheme = themeSheet; + app.config.globalProperties.$pinceauSsr = { get: () => runtimeSheet.toString() }; + app.provide("pinceauRuntime", usePinceauRuntime2); + app.provide("pinceauTheme", themeSheet); + } +}; +function usePinceauRuntime(props, variants, computedStyles) { + return inject("pinceauRuntime")(props, variants, computedStyles); +} +function usePinceauTheme() { + return inject("pinceauTheme"); +} +function computedStyle(defaultValue, required = false) { + return { + type: [String, Object], + default: defaultValue, + required + }; +} +const my = (value) => { + return { + marginTop: value, + marginBottom: value + }; +}; +const mx = (value) => { + return { + marginLeft: value, + marginRight: value + }; +}; +const py = (value) => { + return { + paddingTop: value, + paddingBottom: value + }; +}; +const px = (value) => { + return { + paddingLeft: value, + paddingRight: value + }; +}; +const truncate = { + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap" +}; +const lineClamp = (lines) => ({ + "overflow": "hidden", + "display": "-webkit-box", + "-webkit-box-orient": "vertical", + "-webkit-line-clamp": lines +}); +const text = (size) => ({ + fontSize: `{text.${size}.fontSize}`, + lineHeight: `{text.${size}.lineHeight}` +}); +const stateColors = (value) => { + return { + color: `{elements.state.${value}.color.primary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important`, + borderColor: `{elements.state.${value}.borderColor.primary} !important`, + ":deep(p code)": { + color: `{elements.state.${value}.color.secondary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important` + }, + ":deep(code)": { + color: `{elements.state.${value}.color.primary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important` + }, + ":deep(a code)": { + borderColor: `{elements.state.${value}.borderColor.primary} !important` + }, + ":deep(a)": { + borderColor: "currentColor", + code: { + backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important` + }, + "&:hover": { + color: `{elements.state.${value}.color.secondary} !important`, + borderColor: "currentColor !important", + code: { + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important`, + color: `{elements.state.${value}.color.secondary} !important`, + borderColor: `{elements.state.${value}.borderColor.secondary} !important` + } + } + } + }; +}; +const utils = { my, mx, py, px, truncate, lineClamp, text, stateColors }; +const theme = { + "media": { + "xs": { + "value": "(min-width: 475px)", + "variable": "var(--media-xs)", + "raw": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)", + "variable": "var(--media-sm)", + "raw": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)", + "variable": "var(--media-md)", + "raw": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)", + "variable": "var(--media-lg)", + "raw": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)", + "variable": "var(--media-xl)", + "raw": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)", + "variable": "var(--media-2xl)", + "raw": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)", + "variable": "var(--media-rm)", + "raw": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)", + "variable": "var(--media-landscape)", + "raw": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)", + "variable": "var(--media-portrait)", + "raw": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff", + "variable": "var(--color-white)", + "raw": "#ffffff" + }, + "black": { + "value": "#0B0A0A", + "variable": "var(--color-black)", + "raw": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB", + "variable": "var(--color-gray-50)", + "raw": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4", + "variable": "var(--color-gray-100)", + "raw": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8", + "variable": "var(--color-gray-200)", + "raw": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3", + "variable": "var(--color-gray-300)", + "raw": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4", + "variable": "var(--color-gray-400)", + "raw": "#ADA9A4" + }, + "500": { + "value": "#97948F", + "variable": "var(--color-gray-500)", + "raw": "#97948F" + }, + "600": { + "value": "#67635D", + "variable": "var(--color-gray-600)", + "raw": "#67635D" + }, + "700": { + "value": "#36332E", + "variable": "var(--color-gray-700)", + "raw": "#36332E" + }, + "800": { + "value": "#201E1B", + "variable": "var(--color-gray-800)", + "raw": "#201E1B" + }, + "900": { + "value": "#121110", + "variable": "var(--color-gray-900)", + "raw": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7", + "variable": "var(--color-green-50)", + "raw": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1", + "variable": "var(--color-green-100)", + "raw": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6", + "variable": "var(--color-green-200)", + "raw": "#C3FFE6" + }, + "300": { + "value": "#86FBCB", + "variable": "var(--color-green-300)", + "raw": "#86FBCB" + }, + "400": { + "value": "#3CEEA5", + "variable": "var(--color-green-400)", + "raw": "#3CEEA5" + }, + "500": { + "value": "#0DD885", + "variable": "var(--color-green-500)", + "raw": "#0DD885" + }, + "600": { + "value": "#00B467", + "variable": "var(--color-green-600)", + "raw": "#00B467" + }, + "700": { + "value": "#006037", + "variable": "var(--color-green-700)", + "raw": "#006037" + }, + "800": { + "value": "#002817", + "variable": "var(--color-green-800)", + "raw": "#002817" + }, + "900": { + "value": "#00190F", + "variable": "var(--color-green-900)", + "raw": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFCEE", + "variable": "var(--color-yellow-50)", + "raw": "#FFFCEE" + }, + "100": { + "value": "#FFF6D3", + "variable": "var(--color-yellow-100)", + "raw": "#FFF6D3" + }, + "200": { + "value": "#FFF0B1", + "variable": "var(--color-yellow-200)", + "raw": "#FFF0B1" + }, + "300": { + "value": "#FFE372", + "variable": "var(--color-yellow-300)", + "raw": "#FFE372" + }, + "400": { + "value": "#FFDC4E", + "variable": "var(--color-yellow-400)", + "raw": "#FFDC4E" + }, + "500": { + "value": "#FBCA05", + "variable": "var(--color-yellow-500)", + "raw": "#FBCA05" + }, + "600": { + "value": "#CBA408", + "variable": "var(--color-yellow-600)", + "raw": "#CBA408" + }, + "700": { + "value": "#614E02", + "variable": "var(--color-yellow-700)", + "raw": "#614E02" + }, + "800": { + "value": "#292100", + "variable": "var(--color-yellow-800)", + "raw": "#292100" + }, + "900": { + "value": "#1B1500", + "variable": "var(--color-yellow-900)", + "raw": "#1B1500" + } + }, + "orange": { + "50": { + "value": "#ffe9d9", + "variable": "var(--color-orange-50)", + "raw": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3", + "variable": "var(--color-orange-100)", + "raw": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d", + "variable": "var(--color-orange-200)", + "raw": "#ffbd8d" + }, + "300": { + "value": "#ffa666", + "variable": "var(--color-orange-300)", + "raw": "#ffa666" + }, + "400": { + "value": "#ff9040", + "variable": "var(--color-orange-400)", + "raw": "#ff9040" + }, + "500": { + "value": "#ff7a1a", + "variable": "var(--color-orange-500)", + "raw": "#ff7a1a" + }, + "600": { + "value": "#e15e00", + "variable": "var(--color-orange-600)", + "raw": "#e15e00" + }, + "700": { + "value": "#a94700", + "variable": "var(--color-orange-700)", + "raw": "#a94700" + }, + "800": { + "value": "#702f00", + "variable": "var(--color-orange-800)", + "raw": "#702f00" + }, + "900": { + "value": "#381800", + "variable": "var(--color-orange-900)", + "raw": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8", + "variable": "var(--color-red-50)", + "raw": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0", + "variable": "var(--color-red-100)", + "raw": "#FFF3F0" + }, + "200": { + "value": "#FFDED7", + "variable": "var(--color-red-200)", + "raw": "#FFDED7" + }, + "300": { + "value": "#FFA692", + "variable": "var(--color-red-300)", + "raw": "#FFA692" + }, + "400": { + "value": "#FF7353", + "variable": "var(--color-red-400)", + "raw": "#FF7353" + }, + "500": { + "value": "#FF3B10", + "variable": "var(--color-red-500)", + "raw": "#FF3B10" + }, + "600": { + "value": "#BB2402", + "variable": "var(--color-red-600)", + "raw": "#BB2402" + }, + "700": { + "value": "#701704", + "variable": "var(--color-red-700)", + "raw": "#701704" + }, + "800": { + "value": "#340A01", + "variable": "var(--color-red-800)", + "raw": "#340A01" + }, + "900": { + "value": "#1C0301", + "variable": "var(--color-red-900)", + "raw": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc", + "variable": "var(--color-pear-50)", + "raw": "#f7f8dc" + }, + "100": { + "value": "#eff0ba", + "variable": "var(--color-pear-100)", + "raw": "#eff0ba" + }, + "200": { + "value": "#e8e997", + "variable": "var(--color-pear-200)", + "raw": "#e8e997" + }, + "300": { + "value": "#e0e274", + "variable": "var(--color-pear-300)", + "raw": "#e0e274" + }, + "400": { + "value": "#d8da52", + "variable": "var(--color-pear-400)", + "raw": "#d8da52" + }, + "500": { + "value": "#d0d32f", + "variable": "var(--color-pear-500)", + "raw": "#d0d32f" + }, + "600": { + "value": "#a8aa24", + "variable": "var(--color-pear-600)", + "raw": "#a8aa24" + }, + "700": { + "value": "#7e801b", + "variable": "var(--color-pear-700)", + "raw": "#7e801b" + }, + "800": { + "value": "#545512", + "variable": "var(--color-pear-800)", + "raw": "#545512" + }, + "900": { + "value": "#2a2b09", + "variable": "var(--color-pear-900)", + "raw": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8", + "variable": "var(--color-teal-50)", + "raw": "#d7faf8" + }, + "100": { + "value": "#aff4f0", + "variable": "var(--color-teal-100)", + "raw": "#aff4f0" + }, + "200": { + "value": "#87efe9", + "variable": "var(--color-teal-200)", + "raw": "#87efe9" + }, + "300": { + "value": "#5fe9e1", + "variable": "var(--color-teal-300)", + "raw": "#5fe9e1" + }, + "400": { + "value": "#36e4da", + "variable": "var(--color-teal-400)", + "raw": "#36e4da" + }, + "500": { + "value": "#1cd1c6", + "variable": "var(--color-teal-500)", + "raw": "#1cd1c6" + }, + "600": { + "value": "#16a79e", + "variable": "var(--color-teal-600)", + "raw": "#16a79e" + }, + "700": { + "value": "#117d77", + "variable": "var(--color-teal-700)", + "raw": "#117d77" + }, + "800": { + "value": "#0b544f", + "variable": "var(--color-teal-800)", + "raw": "#0b544f" + }, + "900": { + "value": "#062a28", + "variable": "var(--color-teal-900)", + "raw": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff", + "variable": "var(--color-lightblue-50)", + "raw": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff", + "variable": "var(--color-lightblue-100)", + "raw": "#b3f1ff" + }, + "200": { + "value": "#8deaff", + "variable": "var(--color-lightblue-200)", + "raw": "#8deaff" + }, + "300": { + "value": "#66e4ff", + "variable": "var(--color-lightblue-300)", + "raw": "#66e4ff" + }, + "400": { + "value": "#40ddff", + "variable": "var(--color-lightblue-400)", + "raw": "#40ddff" + }, + "500": { + "value": "#1ad6ff", + "variable": "var(--color-lightblue-500)", + "raw": "#1ad6ff" + }, + "600": { + "value": "#00b9e1", + "variable": "var(--color-lightblue-600)", + "raw": "#00b9e1" + }, + "700": { + "value": "#008aa9", + "variable": "var(--color-lightblue-700)", + "raw": "#008aa9" + }, + "800": { + "value": "#005c70", + "variable": "var(--color-lightblue-800)", + "raw": "#005c70" + }, + "900": { + "value": "#002e38", + "variable": "var(--color-lightblue-900)", + "raw": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF", + "variable": "var(--color-blue-50)", + "raw": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF", + "variable": "var(--color-blue-100)", + "raw": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF", + "variable": "var(--color-blue-200)", + "raw": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF", + "variable": "var(--color-blue-300)", + "raw": "#A1DDFF" + }, + "400": { + "value": "#64C7FF", + "variable": "var(--color-blue-400)", + "raw": "#64C7FF" + }, + "500": { + "value": "#1AADFF", + "variable": "var(--color-blue-500)", + "raw": "#1AADFF" + }, + "600": { + "value": "#0069A6", + "variable": "var(--color-blue-600)", + "raw": "#0069A6" + }, + "700": { + "value": "#014267", + "variable": "var(--color-blue-700)", + "raw": "#014267" + }, + "800": { + "value": "#002235", + "variable": "var(--color-blue-800)", + "raw": "#002235" + }, + "900": { + "value": "#00131D", + "variable": "var(--color-blue-900)", + "raw": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff", + "variable": "var(--color-indigoblue-50)", + "raw": "#d9e5ff" + }, + "100": { + "value": "#b3cbff", + "variable": "var(--color-indigoblue-100)", + "raw": "#b3cbff" + }, + "200": { + "value": "#8db0ff", + "variable": "var(--color-indigoblue-200)", + "raw": "#8db0ff" + }, + "300": { + "value": "#6696ff", + "variable": "var(--color-indigoblue-300)", + "raw": "#6696ff" + }, + "400": { + "value": "#407cff", + "variable": "var(--color-indigoblue-400)", + "raw": "#407cff" + }, + "500": { + "value": "#1a62ff", + "variable": "var(--color-indigoblue-500)", + "raw": "#1a62ff" + }, + "600": { + "value": "#0047e1", + "variable": "var(--color-indigoblue-600)", + "raw": "#0047e1" + }, + "700": { + "value": "#0035a9", + "variable": "var(--color-indigoblue-700)", + "raw": "#0035a9" + }, + "800": { + "value": "#002370", + "variable": "var(--color-indigoblue-800)", + "raw": "#002370" + }, + "900": { + "value": "#001238", + "variable": "var(--color-indigoblue-900)", + "raw": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb", + "variable": "var(--color-royalblue-50)", + "raw": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7", + "variable": "var(--color-royalblue-100)", + "raw": "#c0b7f7" + }, + "200": { + "value": "#a093f3", + "variable": "var(--color-royalblue-200)", + "raw": "#a093f3" + }, + "300": { + "value": "#806ff0", + "variable": "var(--color-royalblue-300)", + "raw": "#806ff0" + }, + "400": { + "value": "#614bec", + "variable": "var(--color-royalblue-400)", + "raw": "#614bec" + }, + "500": { + "value": "#4127e8", + "variable": "var(--color-royalblue-500)", + "raw": "#4127e8" + }, + "600": { + "value": "#2c15c4", + "variable": "var(--color-royalblue-600)", + "raw": "#2c15c4" + }, + "700": { + "value": "#211093", + "variable": "var(--color-royalblue-700)", + "raw": "#211093" + }, + "800": { + "value": "#160a62", + "variable": "var(--color-royalblue-800)", + "raw": "#160a62" + }, + "900": { + "value": "#0b0531", + "variable": "var(--color-royalblue-900)", + "raw": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff", + "variable": "var(--color-purple-50)", + "raw": "#ead9ff" + }, + "100": { + "value": "#d5b3ff", + "variable": "var(--color-purple-100)", + "raw": "#d5b3ff" + }, + "200": { + "value": "#c08dff", + "variable": "var(--color-purple-200)", + "raw": "#c08dff" + }, + "300": { + "value": "#ab66ff", + "variable": "var(--color-purple-300)", + "raw": "#ab66ff" + }, + "400": { + "value": "#9640ff", + "variable": "var(--color-purple-400)", + "raw": "#9640ff" + }, + "500": { + "value": "#811aff", + "variable": "var(--color-purple-500)", + "raw": "#811aff" + }, + "600": { + "value": "#6500e1", + "variable": "var(--color-purple-600)", + "raw": "#6500e1" + }, + "700": { + "value": "#4c00a9", + "variable": "var(--color-purple-700)", + "raw": "#4c00a9" + }, + "800": { + "value": "#330070", + "variable": "var(--color-purple-800)", + "raw": "#330070" + }, + "900": { + "value": "#190038", + "variable": "var(--color-purple-900)", + "raw": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2", + "variable": "var(--color-pink-50)", + "raw": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5", + "variable": "var(--color-pink-100)", + "raw": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8", + "variable": "var(--color-pink-200)", + "raw": "#ff8dd8" + }, + "300": { + "value": "#ff66cc", + "variable": "var(--color-pink-300)", + "raw": "#ff66cc" + }, + "400": { + "value": "#ff40bf", + "variable": "var(--color-pink-400)", + "raw": "#ff40bf" + }, + "500": { + "value": "#ff1ab2", + "variable": "var(--color-pink-500)", + "raw": "#ff1ab2" + }, + "600": { + "value": "#e10095", + "variable": "var(--color-pink-600)", + "raw": "#e10095" + }, + "700": { + "value": "#a90070", + "variable": "var(--color-pink-700)", + "raw": "#a90070" + }, + "800": { + "value": "#70004b", + "variable": "var(--color-pink-800)", + "raw": "#70004b" + }, + "900": { + "value": "#380025", + "variable": "var(--color-pink-900)", + "raw": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4", + "variable": "var(--color-ruby-50)", + "raw": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9", + "variable": "var(--color-ruby-100)", + "raw": "#ffb3c9" + }, + "200": { + "value": "#ff8dae", + "variable": "var(--color-ruby-200)", + "raw": "#ff8dae" + }, + "300": { + "value": "#ff6694", + "variable": "var(--color-ruby-300)", + "raw": "#ff6694" + }, + "400": { + "value": "#ff4079", + "variable": "var(--color-ruby-400)", + "raw": "#ff4079" + }, + "500": { + "value": "#ff1a5e", + "variable": "var(--color-ruby-500)", + "raw": "#ff1a5e" + }, + "600": { + "value": "#e10043", + "variable": "var(--color-ruby-600)", + "raw": "#e10043" + }, + "700": { + "value": "#a90032", + "variable": "var(--color-ruby-700)", + "raw": "#a90032" + }, + "800": { + "value": "#700021", + "variable": "var(--color-ruby-800)", + "raw": "#700021" + }, + "900": { + "value": "#380011", + "variable": "var(--color-ruby-900)", + "raw": "#380011" + } + }, + "primary": { + "50": { + "value": "#F1FCFF", + "variable": "var(--color-primary-50)", + "raw": "#F1FCFF" + }, + "100": { + "value": "#DCF7FF", + "variable": "var(--color-primary-100)", + "raw": "#DCF7FF" + }, + "200": { + "value": "#C5F2FF", + "variable": "var(--color-primary-200)", + "raw": "#C5F2FF" + }, + "300": { + "value": "#82E3FF", + "variable": "var(--color-primary-300)", + "raw": "#82E3FF" + }, + "400": { + "value": "#55E1FF", + "variable": "var(--color-primary-400)", + "raw": "#55E1FF" + }, + "500": { + "value": "#1AD6FF", + "variable": "var(--color-primary-500)", + "raw": "#1AD6FF" + }, + "600": { + "value": "#09A0C1", + "variable": "var(--color-primary-600)", + "raw": "#09A0C1" + }, + "700": { + "value": "#024757", + "variable": "var(--color-primary-700)", + "raw": "#024757" + }, + "800": { + "value": "#00232B", + "variable": "var(--color-primary-800)", + "raw": "#00232B" + }, + "900": { + "value": "#001A1F", + "variable": "var(--color-primary-900)", + "raw": "#001A1F" + } + }, + "secondary": { + "50": { + "value": "var(--color-gray-50)", + "variable": "var(--color-secondary-50)", + "raw": "{color.gray.50}" + }, + "100": { + "value": "var(--color-gray-100)", + "variable": "var(--color-secondary-100)", + "raw": "{color.gray.100}" + }, + "200": { + "value": "var(--color-gray-200)", + "variable": "var(--color-secondary-200)", + "raw": "{color.gray.200}" + }, + "300": { + "value": "var(--color-gray-300)", + "variable": "var(--color-secondary-300)", + "raw": "{color.gray.300}" + }, + "400": { + "value": "var(--color-gray-400)", + "variable": "var(--color-secondary-400)", + "raw": "{color.gray.400}" + }, + "500": { + "value": "var(--color-gray-500)", + "variable": "var(--color-secondary-500)", + "raw": "{color.gray.500}" + }, + "600": { + "value": "var(--color-gray-600)", + "variable": "var(--color-secondary-600)", + "raw": "{color.gray.600}" + }, + "700": { + "value": "var(--color-gray-700)", + "variable": "var(--color-secondary-700)", + "raw": "{color.gray.700}" + }, + "800": { + "value": "var(--color-gray-800)", + "variable": "var(--color-secondary-800)", + "raw": "{color.gray.800}" + }, + "900": { + "value": "var(--color-gray-900)", + "variable": "var(--color-secondary-900)", + "raw": "{color.gray.900}" + } + }, + "shadow": { + "value": { + "initial": "var(--color-gray-400)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--color-shadow)", + "raw": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + }, + "width": { + "screen": { + "value": "100vw", + "variable": "var(--width-screen)", + "raw": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh", + "variable": "var(--height-screen)", + "raw": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px var(--color-shadow)", + "variable": "var(--shadow-xs)", + "raw": "0px 1px 2px 0px {color.shadow}" + }, + "sm": { + "value": "0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)", + "variable": "var(--shadow-sm)", + "raw": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + }, + "md": { + "value": "0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)", + "variable": "var(--shadow-md)", + "raw": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + }, + "lg": { + "value": "0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)", + "variable": "var(--shadow-lg)", + "raw": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + }, + "xl": { + "value": "0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)", + "variable": "var(--shadow-xl)", + "raw": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + }, + "2xl": { + "value": "0px 25px 50px -12px var(--color-shadow)", + "variable": "var(--shadow-2xl)", + "raw": "0px 25px 50px -12px {color.shadow}" + }, + "none": { + "value": "0px 0px 0px 0px transparent", + "variable": "var(--shadow-none)", + "raw": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px", + "variable": "var(--radii-none)", + "raw": "0px" + }, + "2xs": { + "value": "0.125rem", + "variable": "var(--radii-2xs)", + "raw": "0.125rem" + }, + "xs": { + "value": "0.25rem", + "variable": "var(--radii-xs)", + "raw": "0.25rem" + }, + "sm": { + "value": "0.375rem", + "variable": "var(--radii-sm)", + "raw": "0.375rem" + }, + "md": { + "value": "0.5rem", + "variable": "var(--radii-md)", + "raw": "0.5rem" + }, + "lg": { + "value": "0.75rem", + "variable": "var(--radii-lg)", + "raw": "0.75rem" + }, + "xl": { + "value": "1rem", + "variable": "var(--radii-xl)", + "raw": "1rem" + }, + "2xl": { + "value": "1.5rem", + "variable": "var(--radii-2xl)", + "raw": "1.5rem" + }, + "3xl": { + "value": "1.75rem", + "variable": "var(--radii-3xl)", + "raw": "1.75rem" + }, + "full": { + "value": "9999px", + "variable": "var(--radii-full)", + "raw": "9999px" + } + }, + "size": { + "0": { + "value": "0px", + "variable": "var(--size-0)", + "raw": "0px" + }, + "2": { + "value": "2px", + "variable": "var(--size-2)", + "raw": "2px" + }, + "4": { + "value": "4px", + "variable": "var(--size-4)", + "raw": "4px" + }, + "6": { + "value": "6px", + "variable": "var(--size-6)", + "raw": "6px" + }, + "8": { + "value": "8px", + "variable": "var(--size-8)", + "raw": "8px" + }, + "12": { + "value": "12px", + "variable": "var(--size-12)", + "raw": "12px" + }, + "16": { + "value": "16px", + "variable": "var(--size-16)", + "raw": "16px" + }, + "20": { + "value": "20px", + "variable": "var(--size-20)", + "raw": "20px" + }, + "24": { + "value": "24px", + "variable": "var(--size-24)", + "raw": "24px" + }, + "32": { + "value": "32px", + "variable": "var(--size-32)", + "raw": "32px" + }, + "40": { + "value": "40px", + "variable": "var(--size-40)", + "raw": "40px" + }, + "48": { + "value": "48px", + "variable": "var(--size-48)", + "raw": "48px" + }, + "56": { + "value": "56px", + "variable": "var(--size-56)", + "raw": "56px" + }, + "64": { + "value": "64px", + "variable": "var(--size-64)", + "raw": "64px" + }, + "80": { + "value": "80px", + "variable": "var(--size-80)", + "raw": "80px" + }, + "104": { + "value": "104px", + "variable": "var(--size-104)", + "raw": "104px" + }, + "200": { + "value": "200px", + "variable": "var(--size-200)", + "raw": "200px" + }, + "xs": { + "value": "20rem", + "variable": "var(--size-xs)", + "raw": "20rem" + }, + "sm": { + "value": "24rem", + "variable": "var(--size-sm)", + "raw": "24rem" + }, + "md": { + "value": "28rem", + "variable": "var(--size-md)", + "raw": "28rem" + }, + "lg": { + "value": "32rem", + "variable": "var(--size-lg)", + "raw": "32rem" + }, + "xl": { + "value": "36rem", + "variable": "var(--size-xl)", + "raw": "36rem" + }, + "2xl": { + "value": "42rem", + "variable": "var(--size-2xl)", + "raw": "42rem" + }, + "3xl": { + "value": "48rem", + "variable": "var(--size-3xl)", + "raw": "48rem" + }, + "4xl": { + "value": "56rem", + "variable": "var(--size-4xl)", + "raw": "56rem" + }, + "5xl": { + "value": "64rem", + "variable": "var(--size-5xl)", + "raw": "64rem" + }, + "6xl": { + "value": "72rem", + "variable": "var(--size-6xl)", + "raw": "72rem" + }, + "7xl": { + "value": "80rem", + "variable": "var(--size-7xl)", + "raw": "80rem" + }, + "full": { + "value": "100%", + "variable": "var(--size-full)", + "raw": "100%" + } + }, + "space": { + "0": { + "value": "0px", + "variable": "var(--space-0)", + "raw": "0px" + }, + "1": { + "value": "0.25rem", + "variable": "var(--space-1)", + "raw": "0.25rem" + }, + "2": { + "value": "0.5rem", + "variable": "var(--space-2)", + "raw": "0.5rem" + }, + "3": { + "value": "0.75rem", + "variable": "var(--space-3)", + "raw": "0.75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--space-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--space-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--space-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--space-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--space-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--space-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--space-10)", + "raw": "2.5rem" + }, + "11": { + "value": "2.75rem", + "variable": "var(--space-11)", + "raw": "2.75rem" + }, + "12": { + "value": "3rem", + "variable": "var(--space-12)", + "raw": "3rem" + }, + "14": { + "value": "3.5rem", + "variable": "var(--space-14)", + "raw": "3.5rem" + }, + "16": { + "value": "4rem", + "variable": "var(--space-16)", + "raw": "4rem" + }, + "20": { + "value": "5rem", + "variable": "var(--space-20)", + "raw": "5rem" + }, + "24": { + "value": "6rem", + "variable": "var(--space-24)", + "raw": "6rem" + }, + "28": { + "value": "7rem", + "variable": "var(--space-28)", + "raw": "7rem" + }, + "32": { + "value": "8rem", + "variable": "var(--space-32)", + "raw": "8rem" + }, + "36": { + "value": "9rem", + "variable": "var(--space-36)", + "raw": "9rem" + }, + "40": { + "value": "10rem", + "variable": "var(--space-40)", + "raw": "10rem" + }, + "44": { + "value": "11rem", + "variable": "var(--space-44)", + "raw": "11rem" + }, + "48": { + "value": "12rem", + "variable": "var(--space-48)", + "raw": "12rem" + }, + "52": { + "value": "13rem", + "variable": "var(--space-52)", + "raw": "13rem" + }, + "56": { + "value": "14rem", + "variable": "var(--space-56)", + "raw": "14rem" + }, + "60": { + "value": "15rem", + "variable": "var(--space-60)", + "raw": "15rem" + }, + "64": { + "value": "16rem", + "variable": "var(--space-64)", + "raw": "16rem" + }, + "72": { + "value": "18rem", + "variable": "var(--space-72)", + "raw": "18rem" + }, + "80": { + "value": "20rem", + "variable": "var(--space-80)", + "raw": "20rem" + }, + "96": { + "value": "24rem", + "variable": "var(--space-96)", + "raw": "24rem" + }, + "128": { + "value": "32rem", + "variable": "var(--space-128)", + "raw": "32rem" + }, + "px": { + "value": "1px", + "variable": "var(--space-px)", + "raw": "1px" + }, + "rem": { + "125": { + "value": "0.125rem", + "variable": "var(--space-rem-125)", + "raw": "0.125rem" + }, + "375": { + "value": "0.375rem", + "variable": "var(--space-rem-375)", + "raw": "0.375rem" + }, + "625": { + "value": "0.625rem", + "variable": "var(--space-rem-625)", + "raw": "0.625rem" + }, + "875": { + "value": "0.875rem", + "variable": "var(--space-rem-875)", + "raw": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0", + "variable": "var(--borderWidth-noBorder)", + "raw": "0" + }, + "sm": { + "value": "1px", + "variable": "var(--borderWidth-sm)", + "raw": "1px" + }, + "md": { + "value": "2px", + "variable": "var(--borderWidth-md)", + "raw": "2px" + }, + "lg": { + "value": "3px", + "variable": "var(--borderWidth-lg)", + "raw": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0", + "variable": "var(--opacity-noOpacity)", + "raw": "0" + }, + "bright": { + "value": "0.1", + "variable": "var(--opacity-bright)", + "raw": "0.1" + }, + "light": { + "value": "0.15", + "variable": "var(--opacity-light)", + "raw": "0.15" + }, + "soft": { + "value": "0.3", + "variable": "var(--opacity-soft)", + "raw": "0.3" + }, + "medium": { + "value": "0.5", + "variable": "var(--opacity-medium)", + "raw": "0.5" + }, + "high": { + "value": "0.8", + "variable": "var(--opacity-high)", + "raw": "0.8" + }, + "total": { + "value": "1", + "variable": "var(--opacity-total)", + "raw": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji", + "variable": "var(--font-sans)", + "raw": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif", + "variable": "var(--font-serif)", + "raw": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace", + "variable": "var(--font-mono)", + "raw": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100", + "variable": "var(--fontWeight-thin)", + "raw": "100" + }, + "extralight": { + "value": "200", + "variable": "var(--fontWeight-extralight)", + "raw": "200" + }, + "light": { + "value": "300", + "variable": "var(--fontWeight-light)", + "raw": "300" + }, + "normal": { + "value": "400", + "variable": "var(--fontWeight-normal)", + "raw": "400" + }, + "medium": { + "value": "500", + "variable": "var(--fontWeight-medium)", + "raw": "500" + }, + "semibold": { + "value": "600", + "variable": "var(--fontWeight-semibold)", + "raw": "600" + }, + "bold": { + "value": "700", + "variable": "var(--fontWeight-bold)", + "raw": "700" + }, + "extrabold": { + "value": "800", + "variable": "var(--fontWeight-extrabold)", + "raw": "800" + }, + "black": { + "value": "900", + "variable": "var(--fontWeight-black)", + "raw": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem", + "variable": "var(--fontSize-xs)", + "raw": "0.75rem" + }, + "sm": { + "value": "0.875rem", + "variable": "var(--fontSize-sm)", + "raw": "0.875rem" + }, + "base": { + "value": "1rem", + "variable": "var(--fontSize-base)", + "raw": "1rem" + }, + "lg": { + "value": "1.125rem", + "variable": "var(--fontSize-lg)", + "raw": "1.125rem" + }, + "xl": { + "value": "1.25rem", + "variable": "var(--fontSize-xl)", + "raw": "1.25rem" + }, + "2xl": { + "value": "1.5rem", + "variable": "var(--fontSize-2xl)", + "raw": "1.5rem" + }, + "3xl": { + "value": "1.875rem", + "variable": "var(--fontSize-3xl)", + "raw": "1.875rem" + }, + "4xl": { + "value": "2.25rem", + "variable": "var(--fontSize-4xl)", + "raw": "2.25rem" + }, + "5xl": { + "value": "3rem", + "variable": "var(--fontSize-5xl)", + "raw": "3rem" + }, + "6xl": { + "value": "3.75rem", + "variable": "var(--fontSize-6xl)", + "raw": "3.75rem" + }, + "7xl": { + "value": "4.5rem", + "variable": "var(--fontSize-7xl)", + "raw": "4.5rem" + }, + "8xl": { + "value": "6rem", + "variable": "var(--fontSize-8xl)", + "raw": "6rem" + }, + "9xl": { + "value": "8rem", + "variable": "var(--fontSize-9xl)", + "raw": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em", + "variable": "var(--letterSpacing-tighter)", + "raw": "-0.05em" + }, + "tight": { + "value": "-0.025em", + "variable": "var(--letterSpacing-tight)", + "raw": "-0.025em" + }, + "normal": { + "value": "0em", + "variable": "var(--letterSpacing-normal)", + "raw": "0em" + }, + "wide": { + "value": "0.025em", + "variable": "var(--letterSpacing-wide)", + "raw": "0.025em" + }, + "wider": { + "value": "0.05em", + "variable": "var(--letterSpacing-wider)", + "raw": "0.05em" + }, + "widest": { + "value": "0.1em", + "variable": "var(--letterSpacing-widest)", + "raw": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem", + "variable": "var(--lead-1)", + "raw": ".025rem" + }, + "2": { + "value": ".5rem", + "variable": "var(--lead-2)", + "raw": ".5rem" + }, + "3": { + "value": ".75rem", + "variable": "var(--lead-3)", + "raw": ".75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--lead-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--lead-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--lead-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--lead-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--lead-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--lead-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--lead-10)", + "raw": "2.5rem" + }, + "none": { + "value": "1", + "variable": "var(--lead-none)", + "raw": "1" + }, + "tight": { + "value": "1.25", + "variable": "var(--lead-tight)", + "raw": "1.25" + }, + "snug": { + "value": "1.375", + "variable": "var(--lead-snug)", + "raw": "1.375" + }, + "normal": { + "value": "1.5", + "variable": "var(--lead-normal)", + "raw": "1.5" + }, + "relaxed": { + "value": "1.625", + "variable": "var(--lead-relaxed)", + "raw": "1.625" + }, + "loose": { + "value": "2", + "variable": "var(--lead-loose)", + "raw": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "var(--fontSize-xs)", + "variable": "var(--text-xs-fontSize)", + "raw": "{fontSize.xs}" + }, + "lineHeight": { + "value": "var(--lead-4)", + "variable": "var(--text-xs-lineHeight)", + "raw": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "var(--fontSize-sm)", + "variable": "var(--text-sm-fontSize)", + "raw": "{fontSize.sm}" + }, + "lineHeight": { + "value": "var(--lead-5)", + "variable": "var(--text-sm-lineHeight)", + "raw": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "var(--fontSize-base)", + "variable": "var(--text-base-fontSize)", + "raw": "{fontSize.base}" + }, + "lineHeight": { + "value": "var(--lead-6)", + "variable": "var(--text-base-lineHeight)", + "raw": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "var(--fontSize-lg)", + "variable": "var(--text-lg-fontSize)", + "raw": "{fontSize.lg}" + }, + "lineHeight": { + "value": "var(--lead-7)", + "variable": "var(--text-lg-lineHeight)", + "raw": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "var(--fontSize-xl)", + "variable": "var(--text-xl-fontSize)", + "raw": "{fontSize.xl}" + }, + "lineHeight": { + "value": "var(--lead-7)", + "variable": "var(--text-xl-lineHeight)", + "raw": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "var(--fontSize-2xl)", + "variable": "var(--text-2xl-fontSize)", + "raw": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "var(--lead-8)", + "variable": "var(--text-2xl-lineHeight)", + "raw": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "var(--fontSize-3xl)", + "variable": "var(--text-3xl-fontSize)", + "raw": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "var(--lead-9)", + "variable": "var(--text-3xl-lineHeight)", + "raw": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "var(--fontSize-4xl)", + "variable": "var(--text-4xl-fontSize)", + "raw": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "var(--lead-10)", + "variable": "var(--text-4xl-lineHeight)", + "raw": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "var(--fontSize-5xl)", + "variable": "var(--text-5xl-fontSize)", + "raw": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "var(--lead-none)", + "variable": "var(--text-5xl-lineHeight)", + "raw": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "var(--fontSize-6xl)", + "variable": "var(--text-6xl-fontSize)", + "raw": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "var(--lead-none)", + "variable": "var(--text-6xl-lineHeight)", + "raw": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "var(--color-gray-900)", + "dark": "var(--color-gray-50)" + }, + "variable": "var(--elements-text-primary-color-static)", + "raw": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "var(--color-gray-500)", + "dark": "var(--color-gray-400)" + }, + "variable": "var(--elements-text-secondary-color-static)", + "raw": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "var(--color-gray-700)", + "dark": "var(--color-gray-200)" + }, + "variable": "var(--elements-text-secondary-color-hover)", + "raw": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem", + "variable": "var(--elements-container-maxWidth)", + "raw": "80rem" + }, + "padding": { + "mobile": { + "value": "var(--space-4)", + "variable": "var(--elements-container-padding-mobile)", + "raw": "{space.4}" + }, + "xs": { + "value": "var(--space-4)", + "variable": "var(--elements-container-padding-xs)", + "raw": "{space.4}" + }, + "sm": { + "value": "var(--space-6)", + "variable": "var(--elements-container-padding-sm)", + "raw": "{space.6}" + }, + "md": { + "value": "var(--space-6)", + "variable": "var(--elements-container-padding-md)", + "raw": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)", + "variable": "var(--elements-backdrop-filter)", + "raw": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + }, + "variable": "var(--elements-backdrop-background)", + "raw": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-border-primary-static)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-border-primary-hover)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-border-secondary-static)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + }, + "variable": "var(--elements-border-secondary-hover)", + "raw": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-surface-background-base)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-surface-primary-backgroundColor)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-surface-secondary-backgroundColor)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "var(--color-primary-600)", + "dark": "var(--color-primary-400)" + }, + "variable": "var(--elements-state-primary-color-primary)", + "raw": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-700)", + "dark": "var(--color-primary-200)" + }, + "variable": "var(--elements-state-primary-color-secondary)", + "raw": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-primary-50)", + "dark": "var(--color-primary-900)" + }, + "variable": "var(--elements-state-primary-backgroundColor-primary)", + "raw": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-100)", + "dark": "var(--color-primary-800)" + }, + "variable": "var(--elements-state-primary-backgroundColor-secondary)", + "raw": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-primary-100)", + "dark": "var(--color-primary-800)" + }, + "variable": "var(--elements-state-primary-borderColor-primary)", + "raw": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-200)", + "dark": "var(--color-primary-700)" + }, + "variable": "var(--elements-state-primary-borderColor-secondary)", + "raw": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "var(--color-blue-500)", + "dark": "var(--color-blue-400)" + }, + "variable": "var(--elements-state-info-color-primary)", + "raw": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-600)", + "dark": "var(--color-blue-200)" + }, + "variable": "var(--elements-state-info-color-secondary)", + "raw": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-blue-50)", + "dark": "var(--color-blue-900)" + }, + "variable": "var(--elements-state-info-backgroundColor-primary)", + "raw": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-100)", + "dark": "var(--color-blue-800)" + }, + "variable": "var(--elements-state-info-backgroundColor-secondary)", + "raw": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-blue-100)", + "dark": "var(--color-blue-800)" + }, + "variable": "var(--elements-state-info-borderColor-primary)", + "raw": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-200)", + "dark": "var(--color-blue-700)" + }, + "variable": "var(--elements-state-info-borderColor-secondary)", + "raw": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "var(--color-green-500)", + "dark": "var(--color-green-400)" + }, + "variable": "var(--elements-state-success-color-primary)", + "raw": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-600)", + "dark": "var(--color-green-200)" + }, + "variable": "var(--elements-state-success-color-secondary)", + "raw": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-green-50)", + "dark": "var(--color-green-900)" + }, + "variable": "var(--elements-state-success-backgroundColor-primary)", + "raw": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-100)", + "dark": "var(--color-green-800)" + }, + "variable": "var(--elements-state-success-backgroundColor-secondary)", + "raw": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-green-100)", + "dark": "var(--color-green-800)" + }, + "variable": "var(--elements-state-success-borderColor-primary)", + "raw": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-200)", + "dark": "var(--color-green-700)" + }, + "variable": "var(--elements-state-success-borderColor-secondary)", + "raw": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "var(--color-yellow-600)", + "dark": "var(--color-yellow-400)" + }, + "variable": "var(--elements-state-warning-color-primary)", + "raw": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-700)", + "dark": "var(--color-yellow-200)" + }, + "variable": "var(--elements-state-warning-color-secondary)", + "raw": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-yellow-50)", + "dark": "var(--color-yellow-900)" + }, + "variable": "var(--elements-state-warning-backgroundColor-primary)", + "raw": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-100)", + "dark": "var(--color-yellow-800)" + }, + "variable": "var(--elements-state-warning-backgroundColor-secondary)", + "raw": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-yellow-100)", + "dark": "var(--color-yellow-800)" + }, + "variable": "var(--elements-state-warning-borderColor-primary)", + "raw": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-200)", + "dark": "var(--color-yellow-700)" + }, + "variable": "var(--elements-state-warning-borderColor-secondary)", + "raw": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "var(--color-red-500)", + "dark": "var(--color-red-300)" + }, + "variable": "var(--elements-state-danger-color-primary)", + "raw": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-600)", + "dark": "var(--color-red-200)" + }, + "variable": "var(--elements-state-danger-color-secondary)", + "raw": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-red-50)", + "dark": "var(--color-red-900)" + }, + "variable": "var(--elements-state-danger-backgroundColor-primary)", + "raw": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-100)", + "dark": "var(--color-red-800)" + }, + "variable": "var(--elements-state-danger-backgroundColor-secondary)", + "raw": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-red-100)", + "dark": "var(--color-red-800)" + }, + "variable": "var(--elements-state-danger-borderColor-primary)", + "raw": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-200)", + "dark": "var(--color-red-700)" + }, + "variable": "var(--elements-state-danger-borderColor-secondary)", + "raw": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "var(--color-black)", + "dark": "var(--color-white)" + }, + "variable": "var(--typography-body-color)", + "raw": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--color-white)", + "dark": "var(--color-black)" + }, + "variable": "var(--typography-body-backgroundColor)", + "raw": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px", + "variable": "var(--typography-verticalMargin-sm)", + "raw": "16px" + }, + "base": { + "value": "24px", + "variable": "var(--typography-verticalMargin-base)", + "raw": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em", + "variable": "var(--typography-letterSpacing-tight)", + "raw": "-0.025em" + }, + "wide": { + "value": "0.025em", + "variable": "var(--typography-letterSpacing-wide)", + "raw": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px", + "variable": "var(--typography-fontSize-xs)", + "raw": "12px" + }, + "sm": { + "value": "14px", + "variable": "var(--typography-fontSize-sm)", + "raw": "14px" + }, + "base": { + "value": "16px", + "variable": "var(--typography-fontSize-base)", + "raw": "16px" + }, + "lg": { + "value": "18px", + "variable": "var(--typography-fontSize-lg)", + "raw": "18px" + }, + "xl": { + "value": "20px", + "variable": "var(--typography-fontSize-xl)", + "raw": "20px" + }, + "2xl": { + "value": "24px", + "variable": "var(--typography-fontSize-2xl)", + "raw": "24px" + }, + "3xl": { + "value": "30px", + "variable": "var(--typography-fontSize-3xl)", + "raw": "30px" + }, + "4xl": { + "value": "36px", + "variable": "var(--typography-fontSize-4xl)", + "raw": "36px" + }, + "5xl": { + "value": "48px", + "variable": "var(--typography-fontSize-5xl)", + "raw": "48px" + }, + "6xl": { + "value": "60px", + "variable": "var(--typography-fontSize-6xl)", + "raw": "60px" + }, + "7xl": { + "value": "72px", + "variable": "var(--typography-fontSize-7xl)", + "raw": "72px" + }, + "8xl": { + "value": "96px", + "variable": "var(--typography-fontSize-8xl)", + "raw": "96px" + }, + "9xl": { + "value": "128px", + "variable": "var(--typography-fontSize-9xl)", + "raw": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100", + "variable": "var(--typography-fontWeight-thin)", + "raw": "100" + }, + "extralight": { + "value": "200", + "variable": "var(--typography-fontWeight-extralight)", + "raw": "200" + }, + "light": { + "value": "300", + "variable": "var(--typography-fontWeight-light)", + "raw": "300" + }, + "normal": { + "value": "400", + "variable": "var(--typography-fontWeight-normal)", + "raw": "400" + }, + "medium": { + "value": "500", + "variable": "var(--typography-fontWeight-medium)", + "raw": "500" + }, + "semibold": { + "value": "600", + "variable": "var(--typography-fontWeight-semibold)", + "raw": "600" + }, + "bold": { + "value": "700", + "variable": "var(--typography-fontWeight-bold)", + "raw": "700" + }, + "extrabold": { + "value": "800", + "variable": "var(--typography-fontWeight-extrabold)", + "raw": "800" + }, + "black": { + "value": "900", + "variable": "var(--typography-fontWeight-black)", + "raw": "900" + } + }, + "lead": { + "1": { + "value": ".025rem", + "variable": "var(--typography-lead-1)", + "raw": ".025rem" + }, + "2": { + "value": ".5rem", + "variable": "var(--typography-lead-2)", + "raw": ".5rem" + }, + "3": { + "value": ".75rem", + "variable": "var(--typography-lead-3)", + "raw": ".75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--typography-lead-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--typography-lead-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--typography-lead-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--typography-lead-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--typography-lead-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--typography-lead-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--typography-lead-10)", + "raw": "2.5rem" + }, + "none": { + "value": "1", + "variable": "var(--typography-lead-none)", + "raw": "1" + }, + "tight": { + "value": "1.25", + "variable": "var(--typography-lead-tight)", + "raw": "1.25" + }, + "snug": { + "value": "1.375", + "variable": "var(--typography-lead-snug)", + "raw": "1.375" + }, + "normal": { + "value": "1.5", + "variable": "var(--typography-lead-normal)", + "raw": "1.5" + }, + "relaxed": { + "value": "1.625", + "variable": "var(--typography-lead-relaxed)", + "raw": "1.625" + }, + "loose": { + "value": "2", + "variable": "var(--typography-lead-loose)", + "raw": "2" + } + }, + "font": { + "display": { + "value": "var(--font-sans)", + "variable": "var(--typography-font-display)", + "raw": "{font.sans}" + }, + "body": { + "value": "var(--font-sans)", + "variable": "var(--typography-font-body)", + "raw": "{font.sans}" + }, + "code": { + "value": "var(--font-mono)", + "variable": "var(--typography-font-code)", + "raw": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "var(--color-primary-50)", + "variable": "var(--typography-color-primary-50)", + "raw": "{color.primary.50}" + }, + "100": { + "value": "var(--color-primary-100)", + "variable": "var(--typography-color-primary-100)", + "raw": "{color.primary.100}" + }, + "200": { + "value": "var(--color-primary-200)", + "variable": "var(--typography-color-primary-200)", + "raw": "{color.primary.200}" + }, + "300": { + "value": "var(--color-primary-300)", + "variable": "var(--typography-color-primary-300)", + "raw": "{color.primary.300}" + }, + "400": { + "value": "var(--color-primary-400)", + "variable": "var(--typography-color-primary-400)", + "raw": "{color.primary.400}" + }, + "500": { + "value": "var(--color-primary-500)", + "variable": "var(--typography-color-primary-500)", + "raw": "{color.primary.500}" + }, + "600": { + "value": "var(--color-primary-600)", + "variable": "var(--typography-color-primary-600)", + "raw": "{color.primary.600}" + }, + "700": { + "value": "var(--color-primary-700)", + "variable": "var(--typography-color-primary-700)", + "raw": "{color.primary.700}" + }, + "800": { + "value": "var(--color-primary-800)", + "variable": "var(--typography-color-primary-800)", + "raw": "{color.primary.800}" + }, + "900": { + "value": "var(--color-primary-900)", + "variable": "var(--typography-color-primary-900)", + "raw": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "var(--color-gray-50)", + "variable": "var(--typography-color-secondary-50)", + "raw": "{color.gray.50}" + }, + "100": { + "value": "var(--color-gray-100)", + "variable": "var(--typography-color-secondary-100)", + "raw": "{color.gray.100}" + }, + "200": { + "value": "var(--color-gray-200)", + "variable": "var(--typography-color-secondary-200)", + "raw": "{color.gray.200}" + }, + "300": { + "value": "var(--color-gray-300)", + "variable": "var(--typography-color-secondary-300)", + "raw": "{color.gray.300}" + }, + "400": { + "value": "var(--color-gray-400)", + "variable": "var(--typography-color-secondary-400)", + "raw": "{color.gray.400}" + }, + "500": { + "value": "var(--color-gray-500)", + "variable": "var(--typography-color-secondary-500)", + "raw": "{color.gray.500}" + }, + "600": { + "value": "var(--color-gray-600)", + "variable": "var(--typography-color-secondary-600)", + "raw": "{color.gray.600}" + }, + "700": { + "value": "var(--color-gray-700)", + "variable": "var(--typography-color-secondary-700)", + "raw": "{color.gray.700}" + }, + "800": { + "value": "var(--color-gray-800)", + "variable": "var(--typography-color-secondary-800)", + "raw": "{color.gray.800}" + }, + "900": { + "value": "var(--color-gray-900)", + "variable": "var(--typography-color-secondary-900)", + "raw": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "var(--typography-fontSize-base)", + "variable": "var(--prose-p-fontSize)", + "raw": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "var(--typography-lead-normal)", + "variable": "var(--prose-p-lineHeight)", + "raw": "{typography.lead.normal}" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-p-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0 0 0", + "variable": "var(--prose-p-br-margin)", + "raw": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem", + "variable": "var(--prose-h1-margin)", + "raw": "0 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-5xl)", + "variable": "var(--prose-h1-fontSize)", + "raw": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-tight)", + "variable": "var(--prose-h1-lineHeight)", + "raw": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-bold)", + "variable": "var(--prose-h1-fontWeight)", + "raw": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h1-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-3xl)", + "variable": "var(--prose-h1-iconSize)", + "raw": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h2-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-4xl)", + "variable": "var(--prose-h2-fontSize)", + "raw": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-tight)", + "variable": "var(--prose-h2-lineHeight)", + "raw": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h2-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h2-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-2xl)", + "variable": "var(--prose-h2-iconSize)", + "raw": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h3-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-3xl)", + "variable": "var(--prose-h3-fontSize)", + "raw": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h3-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h3-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h3-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-xl)", + "variable": "var(--prose-h3-iconSize)", + "raw": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h4-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-2xl)", + "variable": "var(--prose-h4-fontSize)", + "raw": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h4-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h4-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h4-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h4-iconSize)", + "raw": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h5-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-xl)", + "variable": "var(--prose-h5-fontSize)", + "raw": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h5-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h5-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h5-iconSize)", + "raw": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h6-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h6-fontSize)", + "raw": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "var(--typography-lead-normal)", + "variable": "var(--prose-h6-lineHeight)", + "raw": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h6-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "var(--typography-fontSize-base)", + "variable": "var(--prose-h6-iconSize)", + "raw": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-strong-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-img-margin)", + "raw": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none", + "variable": "var(--prose-a-textDecoration)", + "raw": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + }, + "variable": "var(--prose-a-color-static)", + "raw": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "var(--typography-color-primary-500)", + "dark": "var(--typography-color-primary-400)" + }, + "variable": "var(--prose-a-color-hover)", + "raw": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px", + "variable": "var(--prose-a-border-width)", + "raw": "1px" + }, + "style": { + "static": { + "value": "dashed", + "variable": "var(--prose-a-border-style-static)", + "raw": "dashed" + }, + "hover": { + "value": "solid", + "variable": "var(--prose-a-border-style-hover)", + "raw": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-border-color-static)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-border-color-hover)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px", + "variable": "var(--prose-a-border-distance)", + "raw": "2px" + } + }, + "fontWeight": { + "value": "var(--typography-fontWeight-medium)", + "variable": "var(--prose-a-fontWeight)", + "raw": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none", + "variable": "var(--prose-a-hasCode-borderBottom)", + "raw": "none" + } + }, + "code": { + "border": { + "width": { + "value": "var(--prose-a-border-width)", + "variable": "var(--prose-a-code-border-width)", + "raw": "{prose.a.border.width}" + }, + "style": { + "value": "var(--prose-a-border-style-static)", + "variable": "var(--prose-a-code-border-style)", + "raw": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "var(--typography-color-secondary-400)", + "dark": "var(--typography-color-secondary-600)" + }, + "variable": "var(--prose-a-code-border-color-static)", + "raw": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "var(--typography-color-primary-500)", + "dark": "var(--typography-color-primary-600)" + }, + "variable": "var(--prose-a-code-border-color-hover)", + "raw": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-code-color-static)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-code-color-hover)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "var(--typography-color-primary-50)", + "dark": "var(--typography-color-primary-900)" + }, + "variable": "var(--prose-a-code-background-hover)", + "raw": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-blockquote-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px", + "variable": "var(--prose-blockquote-paddingInlineStart)", + "raw": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'", + "variable": "var(--prose-blockquote-quotes)", + "raw": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-500)", + "dark": "var(--typography-color-secondary-400)" + }, + "variable": "var(--prose-blockquote-color)", + "raw": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px", + "variable": "var(--prose-blockquote-border-width)", + "raw": "4px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-blockquote-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-700)" + }, + "variable": "var(--prose-blockquote-border-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc", + "variable": "var(--prose-ul-listStyleType)", + "raw": "disc" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-ul-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px", + "variable": "var(--prose-ul-paddingInlineStart)", + "raw": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-ul-li-markerColor)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal", + "variable": "var(--prose-ol-listStyleType)", + "raw": "decimal" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-ol-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px", + "variable": "var(--prose-ol-paddingInlineStart)", + "raw": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-ol-li-markerColor)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "var(--typography-verticalMargin-sm) 0", + "variable": "var(--prose-li-margin)", + "raw": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside", + "variable": "var(--prose-li-listStylePosition)", + "raw": "outside" + } + }, + "hr": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-hr-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid", + "variable": "var(--prose-hr-style)", + "raw": "solid" + }, + "width": { + "value": "1px", + "variable": "var(--prose-hr-width)", + "raw": "1px" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-hr-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-table-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start", + "variable": "var(--prose-table-textAlign)", + "raw": "start" + }, + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-table-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "var(--typography-lead-6)", + "variable": "var(--prose-table-lineHeight)", + "raw": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px", + "variable": "var(--prose-thead-border-width)", + "raw": "0px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-thead-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-300)", + "dark": "var(--typography-color-secondary-600)" + }, + "variable": "var(--prose-thead-border-color)", + "raw": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px", + "variable": "var(--prose-thead-borderBottom-width)", + "raw": "1px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-thead-borderBottom-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-thead-borderBottom-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "var(--typography-color-secondary-600)", + "dark": "var(--typography-color-secondary-400)" + }, + "variable": "var(--prose-th-color)", + "raw": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)", + "variable": "var(--prose-th-padding)", + "raw": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-th-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit", + "variable": "var(--prose-th-textAlign)", + "raw": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px", + "variable": "var(--prose-tbody-tr-borderBottom-width)", + "raw": "1px" + }, + "style": { + "value": "dashed", + "variable": "var(--prose-tbody-tr-borderBottom-style)", + "raw": "dashed" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-tbody-tr-borderBottom-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "var(--typography-verticalMargin-sm)", + "variable": "var(--prose-tbody-td-padding)", + "raw": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-tbody-code-inline-fontSize)", + "raw": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-code-block-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-code-block-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px", + "variable": "var(--prose-code-block-border-width)", + "raw": "1px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-code-block-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-code-block-border-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-700)", + "dark": "var(--typography-color-secondary-200)" + }, + "variable": "var(--prose-code-block-color)", + "raw": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--typography-color-secondary-100)", + "dark": "var(--typography-color-secondary-900)" + }, + "variable": "var(--prose-code-block-backgroundColor)", + "raw": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + }, + "variable": "var(--prose-code-block-backdropFilter)", + "raw": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "var(--typography-verticalMargin-sm)", + "variable": "var(--prose-code-block-pre-padding)", + "raw": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "var(--radii-xs)", + "variable": "var(--prose-code-inline-borderRadius)", + "raw": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem", + "variable": "var(--prose-code-inline-padding)", + "raw": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-code-inline-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-normal)", + "variable": "var(--prose-code-inline-fontWeight)", + "raw": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-700)", + "dark": "var(--typography-color-secondary-200)" + }, + "variable": "var(--prose-code-inline-color)", + "raw": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--typography-color-secondary-100)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-code-inline-backgroundColor)", + "raw": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "body": { + "backgroundColor": { + "value": { + "initial": "var(--color-white)", + "dark": "var(--color-black)" + }, + "variable": "var(--docus-body-backgroundColor)", + "raw": { + "initial": "{color.white}", + "dark": "{color.black}" + } + }, + "color": { + "value": { + "initial": "var(--color-gray-800)", + "dark": "var(--color-gray-200)" + }, + "variable": "var(--docus-body-color)", + "raw": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + }, + "fontFamily": { + "value": "var(--font-sans)", + "variable": "var(--docus-body-fontFamily)", + "raw": "{font.sans}" + } + }, + "header": { + "height": { + "value": "64px", + "variable": "var(--docus-header-height)", + "raw": "64px" + }, + "logo": { + "height": { + "value": { + "initial": "var(--space-6)", + "sm": "var(--space-7)" + }, + "variable": "var(--docus-header-logo-height)", + "raw": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "title": { + "fontSize": { + "value": "var(--fontSize-2xl)", + "variable": "var(--docus-header-title-fontSize)", + "raw": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "var(--fontWeight-bold)", + "variable": "var(--docus-header-title-fontWeight)", + "raw": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "var(--color-gray-900)", + "dark": "var(--color-gray-100)" + }, + "variable": "var(--docus-header-title-color-static)", + "raw": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "var(--color-primary-500)", + "variable": "var(--docus-header-title-color-hover)", + "raw": "{color.primary.500}" + } + } + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + }, + "variable": "var(--docus-footer-height)", + "raw": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "var(--space-4) 0", + "variable": "var(--docus-footer-padding)", + "raw": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch", + "variable": "var(--docus-readableLine)", + "raw": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px", + "variable": "var(--docus-loadingBar-height)", + "raw": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82", + "variable": "var(--docus-loadingBar-gradientColorStop1)", + "raw": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe", + "variable": "var(--docus-loadingBar-gradientColorStop2)", + "raw": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1", + "variable": "var(--docus-loadingBar-gradientColorStop3)", + "raw": "#0047e1" + } + }, + "search": { + "backdropFilter": { + "value": "blur(24px)", + "variable": "var(--docus-search-backdropFilter)", + "raw": "blur(24px)" + }, + "input": { + "borderRadius": { + "value": "var(--radii-2xs)", + "variable": "var(--docus-search-input-borderRadius)", + "raw": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px", + "variable": "var(--docus-search-input-borderWidth)", + "raw": "1px" + }, + "borderStyle": { + "value": "solid", + "variable": "var(--docus-search-input-borderStyle)", + "raw": "solid" + }, + "borderColor": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "transparent" + }, + "variable": "var(--docus-search-input-borderColor)", + "raw": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "var(--fontSize-sm)", + "variable": "var(--docus-search-input-fontSize)", + "raw": "{fontSize.sm}" + }, + "gap": { + "value": "var(--space-2)", + "variable": "var(--docus-search-input-gap)", + "raw": "{space.2}" + }, + "padding": { + "value": "var(--space-2) var(--space-4)", + "variable": "var(--docus-search-input-padding)", + "raw": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--docus-search-input-backgroundColor)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "results": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "var(--space-4)" + }, + "variable": "var(--docus-search-results-window-marginX)", + "raw": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "var(--radii-xs)" + }, + "variable": "var(--docus-search-results-window-borderRadius)", + "raw": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + }, + "variable": "var(--docus-search-results-window-marginTop)", + "raw": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px", + "variable": "var(--docus-search-results-window-maxWidth)", + "raw": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + }, + "variable": "var(--docus-search-results-window-maxHeight)", + "raw": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "var(--color-gray-300)", + "dark": "var(--color-gray-700)" + }, + "variable": "var(--docus-search-results-selected-backgroundColor)", + "raw": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white", + "variable": "var(--docus-search-results-highlight-color)", + "raw": "white" + }, + "backgroundColor": { + "value": "var(--color-primary-500)", + "variable": "var(--docus-search-results-highlight-backgroundColor)", + "raw": "{color.primary.500}" + } + } + } + } + } +}; +const pinceau_nuxt_plugin_server_KEuz79zT4K = /* @__PURE__ */ defineNuxtPlugin(async (nuxtApp) => { + nuxtApp.vueApp.use(plugin, { colorSchemeMode: "class", theme, utils }); + nuxtApp.hook("app:rendered", async (app) => { + app.ssrContext.event.pinceauContent = app.ssrContext.event.pinceauContent || {}; + const content = app.ssrContext.nuxt.vueApp.config.globalProperties.$pinceauSsr.get(); + app.ssrContext.event.pinceauContent.runtime = content; + }); +}); +const schema = { + "properties": { + "id": "#tokensConfig", + "properties": { + "media": { + "title": "Your website media queries.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:screenshot-monitor-outline-rounded" + ], + "id": "#tokensConfig/media", + "properties": { + "xs": { + "id": "#tokensConfig/media/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/xs/value", + "default": "(min-width: 475px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 475px)" + } + }, + "sm": { + "id": "#tokensConfig/media/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/sm/value", + "default": "(min-width: 640px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 640px)" + } + }, + "md": { + "id": "#tokensConfig/media/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/md/value", + "default": "(min-width: 768px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 768px)" + } + }, + "lg": { + "id": "#tokensConfig/media/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/lg/value", + "default": "(min-width: 1024px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1024px)" + } + }, + "xl": { + "id": "#tokensConfig/media/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/xl/value", + "default": "(min-width: 1280px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1280px)" + } + }, + "2xl": { + "id": "#tokensConfig/media/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/2xl/value", + "default": "(min-width: 1536px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1536px)" + } + }, + "rm": { + "id": "#tokensConfig/media/rm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/rm/value", + "default": "(prefers-reduced-motion: reduce)" + } + }, + "type": "object", + "default": { + "value": "(prefers-reduced-motion: reduce)" + } + }, + "landscape": { + "id": "#tokensConfig/media/landscape", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/landscape/value", + "default": "only screen and (orientation: landscape)" + } + }, + "type": "object", + "default": { + "value": "only screen and (orientation: landscape)" + } + }, + "portrait": { + "id": "#tokensConfig/media/portrait", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/portrait/value", + "default": "only screen and (orientation: portrait)" + } + }, + "type": "object", + "default": { + "value": "only screen and (orientation: portrait)" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + } + }, + "color": { + "title": "Your website color palette.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon ph:palette" + ], + "id": "#tokensConfig/color", + "properties": { + "white": { + "id": "#tokensConfig/color/white", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/white/value", + "default": "#ffffff" + } + }, + "type": "object", + "default": { + "value": "#ffffff" + } + }, + "black": { + "id": "#tokensConfig/color/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/black/value", + "default": "#0B0A0A" + } + }, + "type": "object", + "default": { + "value": "#0B0A0A" + } + }, + "gray": { + "id": "#tokensConfig/color/gray", + "properties": { + "50": { + "id": "#tokensConfig/color/gray/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/50/value", + "default": "#FBFBFB" + } + }, + "type": "object", + "default": { + "value": "#FBFBFB" + } + }, + "100": { + "id": "#tokensConfig/color/gray/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/100/value", + "default": "#F6F5F4" + } + }, + "type": "object", + "default": { + "value": "#F6F5F4" + } + }, + "200": { + "id": "#tokensConfig/color/gray/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/200/value", + "default": "#ECEBE8" + } + }, + "type": "object", + "default": { + "value": "#ECEBE8" + } + }, + "300": { + "id": "#tokensConfig/color/gray/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/300/value", + "default": "#DBD9D3" + } + }, + "type": "object", + "default": { + "value": "#DBD9D3" + } + }, + "400": { + "id": "#tokensConfig/color/gray/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/400/value", + "default": "#ADA9A4" + } + }, + "type": "object", + "default": { + "value": "#ADA9A4" + } + }, + "500": { + "id": "#tokensConfig/color/gray/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/500/value", + "default": "#97948F" + } + }, + "type": "object", + "default": { + "value": "#97948F" + } + }, + "600": { + "id": "#tokensConfig/color/gray/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/600/value", + "default": "#67635D" + } + }, + "type": "object", + "default": { + "value": "#67635D" + } + }, + "700": { + "id": "#tokensConfig/color/gray/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/700/value", + "default": "#36332E" + } + }, + "type": "object", + "default": { + "value": "#36332E" + } + }, + "800": { + "id": "#tokensConfig/color/gray/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/800/value", + "default": "#201E1B" + } + }, + "type": "object", + "default": { + "value": "#201E1B" + } + }, + "900": { + "id": "#tokensConfig/color/gray/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/900/value", + "default": "#121110" + } + }, + "type": "object", + "default": { + "value": "#121110" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + } + }, + "green": { + "id": "#tokensConfig/color/green", + "properties": { + "50": { + "id": "#tokensConfig/color/green/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/50/value", + "default": "#ECFFF7" + } + }, + "type": "object", + "default": { + "value": "#ECFFF7" + } + }, + "100": { + "id": "#tokensConfig/color/green/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/100/value", + "default": "#DEFFF1" + } + }, + "type": "object", + "default": { + "value": "#DEFFF1" + } + }, + "200": { + "id": "#tokensConfig/color/green/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/200/value", + "default": "#C3FFE6" + } + }, + "type": "object", + "default": { + "value": "#C3FFE6" + } + }, + "300": { + "id": "#tokensConfig/color/green/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/300/value", + "default": "#86FBCB" + } + }, + "type": "object", + "default": { + "value": "#86FBCB" + } + }, + "400": { + "id": "#tokensConfig/color/green/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/400/value", + "default": "#3CEEA5" + } + }, + "type": "object", + "default": { + "value": "#3CEEA5" + } + }, + "500": { + "id": "#tokensConfig/color/green/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/500/value", + "default": "#0DD885" + } + }, + "type": "object", + "default": { + "value": "#0DD885" + } + }, + "600": { + "id": "#tokensConfig/color/green/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/600/value", + "default": "#00B467" + } + }, + "type": "object", + "default": { + "value": "#00B467" + } + }, + "700": { + "id": "#tokensConfig/color/green/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/700/value", + "default": "#006037" + } + }, + "type": "object", + "default": { + "value": "#006037" + } + }, + "800": { + "id": "#tokensConfig/color/green/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/800/value", + "default": "#002817" + } + }, + "type": "object", + "default": { + "value": "#002817" + } + }, + "900": { + "id": "#tokensConfig/color/green/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/900/value", + "default": "#00190F" + } + }, + "type": "object", + "default": { + "value": "#00190F" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + } + }, + "yellow": { + "id": "#tokensConfig/color/yellow", + "properties": { + "50": { + "id": "#tokensConfig/color/yellow/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/50/value", + "default": "#FFFCEE" + } + }, + "type": "object", + "default": { + "value": "#FFFCEE" + } + }, + "100": { + "id": "#tokensConfig/color/yellow/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/100/value", + "default": "#FFF6D3" + } + }, + "type": "object", + "default": { + "value": "#FFF6D3" + } + }, + "200": { + "id": "#tokensConfig/color/yellow/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/200/value", + "default": "#FFF0B1" + } + }, + "type": "object", + "default": { + "value": "#FFF0B1" + } + }, + "300": { + "id": "#tokensConfig/color/yellow/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/300/value", + "default": "#FFE372" + } + }, + "type": "object", + "default": { + "value": "#FFE372" + } + }, + "400": { + "id": "#tokensConfig/color/yellow/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/400/value", + "default": "#FFDC4E" + } + }, + "type": "object", + "default": { + "value": "#FFDC4E" + } + }, + "500": { + "id": "#tokensConfig/color/yellow/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/500/value", + "default": "#FBCA05" + } + }, + "type": "object", + "default": { + "value": "#FBCA05" + } + }, + "600": { + "id": "#tokensConfig/color/yellow/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/600/value", + "default": "#CBA408" + } + }, + "type": "object", + "default": { + "value": "#CBA408" + } + }, + "700": { + "id": "#tokensConfig/color/yellow/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/700/value", + "default": "#614E02" + } + }, + "type": "object", + "default": { + "value": "#614E02" + } + }, + "800": { + "id": "#tokensConfig/color/yellow/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/800/value", + "default": "#292100" + } + }, + "type": "object", + "default": { + "value": "#292100" + } + }, + "900": { + "id": "#tokensConfig/color/yellow/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/900/value", + "default": "#1B1500" + } + }, + "type": "object", + "default": { + "value": "#1B1500" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FFFCEE" + }, + "100": { + "value": "#FFF6D3" + }, + "200": { + "value": "#FFF0B1" + }, + "300": { + "value": "#FFE372" + }, + "400": { + "value": "#FFDC4E" + }, + "500": { + "value": "#FBCA05" + }, + "600": { + "value": "#CBA408" + }, + "700": { + "value": "#614E02" + }, + "800": { + "value": "#292100" + }, + "900": { + "value": "#1B1500" + } + } + }, + "orange": { + "id": "#tokensConfig/color/orange", + "properties": { + "50": { + "id": "#tokensConfig/color/orange/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/50/value", + "default": "#ffe9d9" + } + }, + "type": "object", + "default": { + "value": "#ffe9d9" + } + }, + "100": { + "id": "#tokensConfig/color/orange/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/100/value", + "default": "#ffd3b3" + } + }, + "type": "object", + "default": { + "value": "#ffd3b3" + } + }, + "200": { + "id": "#tokensConfig/color/orange/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/200/value", + "default": "#ffbd8d" + } + }, + "type": "object", + "default": { + "value": "#ffbd8d" + } + }, + "300": { + "id": "#tokensConfig/color/orange/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/300/value", + "default": "#ffa666" + } + }, + "type": "object", + "default": { + "value": "#ffa666" + } + }, + "400": { + "id": "#tokensConfig/color/orange/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/400/value", + "default": "#ff9040" + } + }, + "type": "object", + "default": { + "value": "#ff9040" + } + }, + "500": { + "id": "#tokensConfig/color/orange/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/500/value", + "default": "#ff7a1a" + } + }, + "type": "object", + "default": { + "value": "#ff7a1a" + } + }, + "600": { + "id": "#tokensConfig/color/orange/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/600/value", + "default": "#e15e00" + } + }, + "type": "object", + "default": { + "value": "#e15e00" + } + }, + "700": { + "id": "#tokensConfig/color/orange/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/700/value", + "default": "#a94700" + } + }, + "type": "object", + "default": { + "value": "#a94700" + } + }, + "800": { + "id": "#tokensConfig/color/orange/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/800/value", + "default": "#702f00" + } + }, + "type": "object", + "default": { + "value": "#702f00" + } + }, + "900": { + "id": "#tokensConfig/color/orange/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/900/value", + "default": "#381800" + } + }, + "type": "object", + "default": { + "value": "#381800" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + } + }, + "red": { + "id": "#tokensConfig/color/red", + "properties": { + "50": { + "id": "#tokensConfig/color/red/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/50/value", + "default": "#FFF9F8" + } + }, + "type": "object", + "default": { + "value": "#FFF9F8" + } + }, + "100": { + "id": "#tokensConfig/color/red/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/100/value", + "default": "#FFF3F0" + } + }, + "type": "object", + "default": { + "value": "#FFF3F0" + } + }, + "200": { + "id": "#tokensConfig/color/red/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/200/value", + "default": "#FFDED7" + } + }, + "type": "object", + "default": { + "value": "#FFDED7" + } + }, + "300": { + "id": "#tokensConfig/color/red/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/300/value", + "default": "#FFA692" + } + }, + "type": "object", + "default": { + "value": "#FFA692" + } + }, + "400": { + "id": "#tokensConfig/color/red/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/400/value", + "default": "#FF7353" + } + }, + "type": "object", + "default": { + "value": "#FF7353" + } + }, + "500": { + "id": "#tokensConfig/color/red/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/500/value", + "default": "#FF3B10" + } + }, + "type": "object", + "default": { + "value": "#FF3B10" + } + }, + "600": { + "id": "#tokensConfig/color/red/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/600/value", + "default": "#BB2402" + } + }, + "type": "object", + "default": { + "value": "#BB2402" + } + }, + "700": { + "id": "#tokensConfig/color/red/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/700/value", + "default": "#701704" + } + }, + "type": "object", + "default": { + "value": "#701704" + } + }, + "800": { + "id": "#tokensConfig/color/red/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/800/value", + "default": "#340A01" + } + }, + "type": "object", + "default": { + "value": "#340A01" + } + }, + "900": { + "id": "#tokensConfig/color/red/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/900/value", + "default": "#1C0301" + } + }, + "type": "object", + "default": { + "value": "#1C0301" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + } + }, + "pear": { + "id": "#tokensConfig/color/pear", + "properties": { + "50": { + "id": "#tokensConfig/color/pear/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/50/value", + "default": "#f7f8dc" + } + }, + "type": "object", + "default": { + "value": "#f7f8dc" + } + }, + "100": { + "id": "#tokensConfig/color/pear/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/100/value", + "default": "#eff0ba" + } + }, + "type": "object", + "default": { + "value": "#eff0ba" + } + }, + "200": { + "id": "#tokensConfig/color/pear/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/200/value", + "default": "#e8e997" + } + }, + "type": "object", + "default": { + "value": "#e8e997" + } + }, + "300": { + "id": "#tokensConfig/color/pear/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/300/value", + "default": "#e0e274" + } + }, + "type": "object", + "default": { + "value": "#e0e274" + } + }, + "400": { + "id": "#tokensConfig/color/pear/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/400/value", + "default": "#d8da52" + } + }, + "type": "object", + "default": { + "value": "#d8da52" + } + }, + "500": { + "id": "#tokensConfig/color/pear/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/500/value", + "default": "#d0d32f" + } + }, + "type": "object", + "default": { + "value": "#d0d32f" + } + }, + "600": { + "id": "#tokensConfig/color/pear/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/600/value", + "default": "#a8aa24" + } + }, + "type": "object", + "default": { + "value": "#a8aa24" + } + }, + "700": { + "id": "#tokensConfig/color/pear/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/700/value", + "default": "#7e801b" + } + }, + "type": "object", + "default": { + "value": "#7e801b" + } + }, + "800": { + "id": "#tokensConfig/color/pear/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/800/value", + "default": "#545512" + } + }, + "type": "object", + "default": { + "value": "#545512" + } + }, + "900": { + "id": "#tokensConfig/color/pear/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/900/value", + "default": "#2a2b09" + } + }, + "type": "object", + "default": { + "value": "#2a2b09" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + } + }, + "teal": { + "id": "#tokensConfig/color/teal", + "properties": { + "50": { + "id": "#tokensConfig/color/teal/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/50/value", + "default": "#d7faf8" + } + }, + "type": "object", + "default": { + "value": "#d7faf8" + } + }, + "100": { + "id": "#tokensConfig/color/teal/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/100/value", + "default": "#aff4f0" + } + }, + "type": "object", + "default": { + "value": "#aff4f0" + } + }, + "200": { + "id": "#tokensConfig/color/teal/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/200/value", + "default": "#87efe9" + } + }, + "type": "object", + "default": { + "value": "#87efe9" + } + }, + "300": { + "id": "#tokensConfig/color/teal/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/300/value", + "default": "#5fe9e1" + } + }, + "type": "object", + "default": { + "value": "#5fe9e1" + } + }, + "400": { + "id": "#tokensConfig/color/teal/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/400/value", + "default": "#36e4da" + } + }, + "type": "object", + "default": { + "value": "#36e4da" + } + }, + "500": { + "id": "#tokensConfig/color/teal/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/500/value", + "default": "#1cd1c6" + } + }, + "type": "object", + "default": { + "value": "#1cd1c6" + } + }, + "600": { + "id": "#tokensConfig/color/teal/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/600/value", + "default": "#16a79e" + } + }, + "type": "object", + "default": { + "value": "#16a79e" + } + }, + "700": { + "id": "#tokensConfig/color/teal/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/700/value", + "default": "#117d77" + } + }, + "type": "object", + "default": { + "value": "#117d77" + } + }, + "800": { + "id": "#tokensConfig/color/teal/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/800/value", + "default": "#0b544f" + } + }, + "type": "object", + "default": { + "value": "#0b544f" + } + }, + "900": { + "id": "#tokensConfig/color/teal/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/900/value", + "default": "#062a28" + } + }, + "type": "object", + "default": { + "value": "#062a28" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + } + }, + "lightblue": { + "id": "#tokensConfig/color/lightblue", + "properties": { + "50": { + "id": "#tokensConfig/color/lightblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/50/value", + "default": "#d9f8ff" + } + }, + "type": "object", + "default": { + "value": "#d9f8ff" + } + }, + "100": { + "id": "#tokensConfig/color/lightblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/100/value", + "default": "#b3f1ff" + } + }, + "type": "object", + "default": { + "value": "#b3f1ff" + } + }, + "200": { + "id": "#tokensConfig/color/lightblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/200/value", + "default": "#8deaff" + } + }, + "type": "object", + "default": { + "value": "#8deaff" + } + }, + "300": { + "id": "#tokensConfig/color/lightblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/300/value", + "default": "#66e4ff" + } + }, + "type": "object", + "default": { + "value": "#66e4ff" + } + }, + "400": { + "id": "#tokensConfig/color/lightblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/400/value", + "default": "#40ddff" + } + }, + "type": "object", + "default": { + "value": "#40ddff" + } + }, + "500": { + "id": "#tokensConfig/color/lightblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/500/value", + "default": "#1ad6ff" + } + }, + "type": "object", + "default": { + "value": "#1ad6ff" + } + }, + "600": { + "id": "#tokensConfig/color/lightblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/600/value", + "default": "#00b9e1" + } + }, + "type": "object", + "default": { + "value": "#00b9e1" + } + }, + "700": { + "id": "#tokensConfig/color/lightblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/700/value", + "default": "#008aa9" + } + }, + "type": "object", + "default": { + "value": "#008aa9" + } + }, + "800": { + "id": "#tokensConfig/color/lightblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/800/value", + "default": "#005c70" + } + }, + "type": "object", + "default": { + "value": "#005c70" + } + }, + "900": { + "id": "#tokensConfig/color/lightblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/900/value", + "default": "#002e38" + } + }, + "type": "object", + "default": { + "value": "#002e38" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + } + }, + "blue": { + "id": "#tokensConfig/color/blue", + "properties": { + "50": { + "id": "#tokensConfig/color/blue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/50/value", + "default": "#F2FAFF" + } + }, + "type": "object", + "default": { + "value": "#F2FAFF" + } + }, + "100": { + "id": "#tokensConfig/color/blue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/100/value", + "default": "#DFF3FF" + } + }, + "type": "object", + "default": { + "value": "#DFF3FF" + } + }, + "200": { + "id": "#tokensConfig/color/blue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/200/value", + "default": "#C6EAFF" + } + }, + "type": "object", + "default": { + "value": "#C6EAFF" + } + }, + "300": { + "id": "#tokensConfig/color/blue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/300/value", + "default": "#A1DDFF" + } + }, + "type": "object", + "default": { + "value": "#A1DDFF" + } + }, + "400": { + "id": "#tokensConfig/color/blue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/400/value", + "default": "#64C7FF" + } + }, + "type": "object", + "default": { + "value": "#64C7FF" + } + }, + "500": { + "id": "#tokensConfig/color/blue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/500/value", + "default": "#1AADFF" + } + }, + "type": "object", + "default": { + "value": "#1AADFF" + } + }, + "600": { + "id": "#tokensConfig/color/blue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/600/value", + "default": "#0069A6" + } + }, + "type": "object", + "default": { + "value": "#0069A6" + } + }, + "700": { + "id": "#tokensConfig/color/blue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/700/value", + "default": "#014267" + } + }, + "type": "object", + "default": { + "value": "#014267" + } + }, + "800": { + "id": "#tokensConfig/color/blue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/800/value", + "default": "#002235" + } + }, + "type": "object", + "default": { + "value": "#002235" + } + }, + "900": { + "id": "#tokensConfig/color/blue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/900/value", + "default": "#00131D" + } + }, + "type": "object", + "default": { + "value": "#00131D" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#014267" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + } + }, + "indigoblue": { + "id": "#tokensConfig/color/indigoblue", + "properties": { + "50": { + "id": "#tokensConfig/color/indigoblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/50/value", + "default": "#d9e5ff" + } + }, + "type": "object", + "default": { + "value": "#d9e5ff" + } + }, + "100": { + "id": "#tokensConfig/color/indigoblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/100/value", + "default": "#b3cbff" + } + }, + "type": "object", + "default": { + "value": "#b3cbff" + } + }, + "200": { + "id": "#tokensConfig/color/indigoblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/200/value", + "default": "#8db0ff" + } + }, + "type": "object", + "default": { + "value": "#8db0ff" + } + }, + "300": { + "id": "#tokensConfig/color/indigoblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/300/value", + "default": "#6696ff" + } + }, + "type": "object", + "default": { + "value": "#6696ff" + } + }, + "400": { + "id": "#tokensConfig/color/indigoblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/400/value", + "default": "#407cff" + } + }, + "type": "object", + "default": { + "value": "#407cff" + } + }, + "500": { + "id": "#tokensConfig/color/indigoblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/500/value", + "default": "#1a62ff" + } + }, + "type": "object", + "default": { + "value": "#1a62ff" + } + }, + "600": { + "id": "#tokensConfig/color/indigoblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/600/value", + "default": "#0047e1" + } + }, + "type": "object", + "default": { + "value": "#0047e1" + } + }, + "700": { + "id": "#tokensConfig/color/indigoblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/700/value", + "default": "#0035a9" + } + }, + "type": "object", + "default": { + "value": "#0035a9" + } + }, + "800": { + "id": "#tokensConfig/color/indigoblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/800/value", + "default": "#002370" + } + }, + "type": "object", + "default": { + "value": "#002370" + } + }, + "900": { + "id": "#tokensConfig/color/indigoblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/900/value", + "default": "#001238" + } + }, + "type": "object", + "default": { + "value": "#001238" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + } + }, + "royalblue": { + "id": "#tokensConfig/color/royalblue", + "properties": { + "50": { + "id": "#tokensConfig/color/royalblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/50/value", + "default": "#dfdbfb" + } + }, + "type": "object", + "default": { + "value": "#dfdbfb" + } + }, + "100": { + "id": "#tokensConfig/color/royalblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/100/value", + "default": "#c0b7f7" + } + }, + "type": "object", + "default": { + "value": "#c0b7f7" + } + }, + "200": { + "id": "#tokensConfig/color/royalblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/200/value", + "default": "#a093f3" + } + }, + "type": "object", + "default": { + "value": "#a093f3" + } + }, + "300": { + "id": "#tokensConfig/color/royalblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/300/value", + "default": "#806ff0" + } + }, + "type": "object", + "default": { + "value": "#806ff0" + } + }, + "400": { + "id": "#tokensConfig/color/royalblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/400/value", + "default": "#614bec" + } + }, + "type": "object", + "default": { + "value": "#614bec" + } + }, + "500": { + "id": "#tokensConfig/color/royalblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/500/value", + "default": "#4127e8" + } + }, + "type": "object", + "default": { + "value": "#4127e8" + } + }, + "600": { + "id": "#tokensConfig/color/royalblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/600/value", + "default": "#2c15c4" + } + }, + "type": "object", + "default": { + "value": "#2c15c4" + } + }, + "700": { + "id": "#tokensConfig/color/royalblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/700/value", + "default": "#211093" + } + }, + "type": "object", + "default": { + "value": "#211093" + } + }, + "800": { + "id": "#tokensConfig/color/royalblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/800/value", + "default": "#160a62" + } + }, + "type": "object", + "default": { + "value": "#160a62" + } + }, + "900": { + "id": "#tokensConfig/color/royalblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/900/value", + "default": "#0b0531" + } + }, + "type": "object", + "default": { + "value": "#0b0531" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + } + }, + "purple": { + "id": "#tokensConfig/color/purple", + "properties": { + "50": { + "id": "#tokensConfig/color/purple/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/50/value", + "default": "#ead9ff" + } + }, + "type": "object", + "default": { + "value": "#ead9ff" + } + }, + "100": { + "id": "#tokensConfig/color/purple/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/100/value", + "default": "#d5b3ff" + } + }, + "type": "object", + "default": { + "value": "#d5b3ff" + } + }, + "200": { + "id": "#tokensConfig/color/purple/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/200/value", + "default": "#c08dff" + } + }, + "type": "object", + "default": { + "value": "#c08dff" + } + }, + "300": { + "id": "#tokensConfig/color/purple/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/300/value", + "default": "#ab66ff" + } + }, + "type": "object", + "default": { + "value": "#ab66ff" + } + }, + "400": { + "id": "#tokensConfig/color/purple/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/400/value", + "default": "#9640ff" + } + }, + "type": "object", + "default": { + "value": "#9640ff" + } + }, + "500": { + "id": "#tokensConfig/color/purple/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/500/value", + "default": "#811aff" + } + }, + "type": "object", + "default": { + "value": "#811aff" + } + }, + "600": { + "id": "#tokensConfig/color/purple/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/600/value", + "default": "#6500e1" + } + }, + "type": "object", + "default": { + "value": "#6500e1" + } + }, + "700": { + "id": "#tokensConfig/color/purple/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/700/value", + "default": "#4c00a9" + } + }, + "type": "object", + "default": { + "value": "#4c00a9" + } + }, + "800": { + "id": "#tokensConfig/color/purple/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/800/value", + "default": "#330070" + } + }, + "type": "object", + "default": { + "value": "#330070" + } + }, + "900": { + "id": "#tokensConfig/color/purple/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/900/value", + "default": "#190038" + } + }, + "type": "object", + "default": { + "value": "#190038" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + } + }, + "pink": { + "id": "#tokensConfig/color/pink", + "properties": { + "50": { + "id": "#tokensConfig/color/pink/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/50/value", + "default": "#ffd9f2" + } + }, + "type": "object", + "default": { + "value": "#ffd9f2" + } + }, + "100": { + "id": "#tokensConfig/color/pink/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/100/value", + "default": "#ffb3e5" + } + }, + "type": "object", + "default": { + "value": "#ffb3e5" + } + }, + "200": { + "id": "#tokensConfig/color/pink/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/200/value", + "default": "#ff8dd8" + } + }, + "type": "object", + "default": { + "value": "#ff8dd8" + } + }, + "300": { + "id": "#tokensConfig/color/pink/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/300/value", + "default": "#ff66cc" + } + }, + "type": "object", + "default": { + "value": "#ff66cc" + } + }, + "400": { + "id": "#tokensConfig/color/pink/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/400/value", + "default": "#ff40bf" + } + }, + "type": "object", + "default": { + "value": "#ff40bf" + } + }, + "500": { + "id": "#tokensConfig/color/pink/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/500/value", + "default": "#ff1ab2" + } + }, + "type": "object", + "default": { + "value": "#ff1ab2" + } + }, + "600": { + "id": "#tokensConfig/color/pink/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/600/value", + "default": "#e10095" + } + }, + "type": "object", + "default": { + "value": "#e10095" + } + }, + "700": { + "id": "#tokensConfig/color/pink/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/700/value", + "default": "#a90070" + } + }, + "type": "object", + "default": { + "value": "#a90070" + } + }, + "800": { + "id": "#tokensConfig/color/pink/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/800/value", + "default": "#70004b" + } + }, + "type": "object", + "default": { + "value": "#70004b" + } + }, + "900": { + "id": "#tokensConfig/color/pink/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/900/value", + "default": "#380025" + } + }, + "type": "object", + "default": { + "value": "#380025" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + } + }, + "ruby": { + "id": "#tokensConfig/color/ruby", + "properties": { + "50": { + "id": "#tokensConfig/color/ruby/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/50/value", + "default": "#ffd9e4" + } + }, + "type": "object", + "default": { + "value": "#ffd9e4" + } + }, + "100": { + "id": "#tokensConfig/color/ruby/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/100/value", + "default": "#ffb3c9" + } + }, + "type": "object", + "default": { + "value": "#ffb3c9" + } + }, + "200": { + "id": "#tokensConfig/color/ruby/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/200/value", + "default": "#ff8dae" + } + }, + "type": "object", + "default": { + "value": "#ff8dae" + } + }, + "300": { + "id": "#tokensConfig/color/ruby/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/300/value", + "default": "#ff6694" + } + }, + "type": "object", + "default": { + "value": "#ff6694" + } + }, + "400": { + "id": "#tokensConfig/color/ruby/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/400/value", + "default": "#ff4079" + } + }, + "type": "object", + "default": { + "value": "#ff4079" + } + }, + "500": { + "id": "#tokensConfig/color/ruby/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/500/value", + "default": "#ff1a5e" + } + }, + "type": "object", + "default": { + "value": "#ff1a5e" + } + }, + "600": { + "id": "#tokensConfig/color/ruby/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/600/value", + "default": "#e10043" + } + }, + "type": "object", + "default": { + "value": "#e10043" + } + }, + "700": { + "id": "#tokensConfig/color/ruby/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/700/value", + "default": "#a90032" + } + }, + "type": "object", + "default": { + "value": "#a90032" + } + }, + "800": { + "id": "#tokensConfig/color/ruby/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/800/value", + "default": "#700021" + } + }, + "type": "object", + "default": { + "value": "#700021" + } + }, + "900": { + "id": "#tokensConfig/color/ruby/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/900/value", + "default": "#380011" + } + }, + "type": "object", + "default": { + "value": "#380011" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + } + }, + "primary": { + "id": "#tokensConfig/color/primary", + "properties": { + "50": { + "id": "#tokensConfig/color/primary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/50/value", + "default": "#F1FCFF" + } + }, + "type": "object", + "default": { + "value": "#F1FCFF" + } + }, + "100": { + "id": "#tokensConfig/color/primary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/100/value", + "default": "#DCF7FF" + } + }, + "type": "object", + "default": { + "value": "#DCF7FF" + } + }, + "200": { + "id": "#tokensConfig/color/primary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/200/value", + "default": "#C5F2FF" + } + }, + "type": "object", + "default": { + "value": "#C5F2FF" + } + }, + "300": { + "id": "#tokensConfig/color/primary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/300/value", + "default": "#82E3FF" + } + }, + "type": "object", + "default": { + "value": "#82E3FF" + } + }, + "400": { + "id": "#tokensConfig/color/primary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/400/value", + "default": "#55E1FF" + } + }, + "type": "object", + "default": { + "value": "#55E1FF" + } + }, + "500": { + "id": "#tokensConfig/color/primary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/500/value", + "default": "#1AD6FF" + } + }, + "type": "object", + "default": { + "value": "#1AD6FF" + } + }, + "600": { + "id": "#tokensConfig/color/primary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/600/value", + "default": "#09A0C1" + } + }, + "type": "object", + "default": { + "value": "#09A0C1" + } + }, + "700": { + "id": "#tokensConfig/color/primary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/700/value", + "default": "#024757" + } + }, + "type": "object", + "default": { + "value": "#024757" + } + }, + "800": { + "id": "#tokensConfig/color/primary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/800/value", + "default": "#00232B" + } + }, + "type": "object", + "default": { + "value": "#00232B" + } + }, + "900": { + "id": "#tokensConfig/color/primary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/900/value", + "default": "#001A1F" + } + }, + "type": "object", + "default": { + "value": "#001A1F" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#F1FCFF" + }, + "100": { + "value": "#DCF7FF" + }, + "200": { + "value": "#C5F2FF" + }, + "300": { + "value": "#82E3FF" + }, + "400": { + "value": "#55E1FF" + }, + "500": { + "value": "#1AD6FF" + }, + "600": { + "value": "#09A0C1" + }, + "700": { + "value": "#024757" + }, + "800": { + "value": "#00232B" + }, + "900": { + "value": "#001A1F" + } + } + }, + "secondary": { + "id": "#tokensConfig/color/secondary", + "properties": { + "50": { + "id": "#tokensConfig/color/secondary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/50/value", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.50}" + } + }, + "100": { + "id": "#tokensConfig/color/secondary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/100/value", + "default": "{color.gray.100}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.100}" + } + }, + "200": { + "id": "#tokensConfig/color/secondary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/200/value", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.200}" + } + }, + "300": { + "id": "#tokensConfig/color/secondary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/300/value", + "default": "{color.gray.300}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.300}" + } + }, + "400": { + "id": "#tokensConfig/color/secondary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/400/value", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.400}" + } + }, + "500": { + "id": "#tokensConfig/color/secondary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/500/value", + "default": "{color.gray.500}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.500}" + } + }, + "600": { + "id": "#tokensConfig/color/secondary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/600/value", + "default": "{color.gray.600}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.600}" + } + }, + "700": { + "id": "#tokensConfig/color/secondary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/700/value", + "default": "{color.gray.700}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.700}" + } + }, + "800": { + "id": "#tokensConfig/color/secondary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/800/value", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.800}" + } + }, + "900": { + "id": "#tokensConfig/color/secondary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/900/value", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + }, + "shadow": { + "id": "#tokensConfig/color/shadow", + "properties": { + "value": { + "id": "#tokensConfig/color/shadow/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/color/shadow/value/initial", + "default": "{color.gray.400}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/color/shadow/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFCEE" + }, + "100": { + "value": "#FFF6D3" + }, + "200": { + "value": "#FFF0B1" + }, + "300": { + "value": "#FFE372" + }, + "400": { + "value": "#FFDC4E" + }, + "500": { + "value": "#FBCA05" + }, + "600": { + "value": "#CBA408" + }, + "700": { + "value": "#614E02" + }, + "800": { + "value": "#292100" + }, + "900": { + "value": "#1B1500" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#014267" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#F1FCFF" + }, + "100": { + "value": "#DCF7FF" + }, + "200": { + "value": "#C5F2FF" + }, + "300": { + "value": "#82E3FF" + }, + "400": { + "value": "#55E1FF" + }, + "500": { + "value": "#1AD6FF" + }, + "600": { + "value": "#09A0C1" + }, + "700": { + "value": "#024757" + }, + "800": { + "value": "#00232B" + }, + "900": { + "value": "#001A1F" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + }, + "shadow": { + "value": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + } + }, + "width": { + "title": "Your website screen sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/width", + "properties": { + "screen": { + "id": "#tokensConfig/width/screen", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/width/screen/value", + "default": "100vw" + } + }, + "type": "object", + "default": { + "value": "100vw" + } + } + }, + "type": "object", + "default": { + "screen": { + "value": "100vw" + } + } + }, + "height": { + "title": "Your website screen sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/height", + "properties": { + "screen": { + "id": "#tokensConfig/height/screen", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/height/screen/value", + "default": "100vh" + } + }, + "type": "object", + "default": { + "value": "100vh" + } + } + }, + "type": "object", + "default": { + "screen": { + "value": "100vh" + } + } + }, + "shadow": { + "title": "Your website shadows.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType shadow", + "@studioIcon mdi:box-shadow" + ], + "id": "#tokensConfig/shadow", + "properties": { + "xs": { + "id": "#tokensConfig/shadow/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/xs/value", + "default": "0px 1px 2px 0px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 1px 2px 0px {color.shadow}" + } + }, + "sm": { + "id": "#tokensConfig/shadow/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/sm/value", + "default": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + } + }, + "md": { + "id": "#tokensConfig/shadow/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/md/value", + "default": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + } + }, + "lg": { + "id": "#tokensConfig/shadow/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/lg/value", + "default": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + } + }, + "xl": { + "id": "#tokensConfig/shadow/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/xl/value", + "default": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + } + }, + "2xl": { + "id": "#tokensConfig/shadow/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/2xl/value", + "default": "0px 25px 50px -12px {color.shadow}" + } + }, + "type": "object", + "default": { + "value": "0px 25px 50px -12px {color.shadow}" + } + }, + "none": { + "id": "#tokensConfig/shadow/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/none/value", + "default": "0px 0px 0px 0px transparent" + } + }, + "type": "object", + "default": { + "value": "0px 0px 0px 0px transparent" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "0px 1px 2px 0px {color.shadow}" + }, + "sm": { + "value": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + }, + "md": { + "value": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + }, + "lg": { + "value": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + }, + "xl": { + "value": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.shadow}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + } + }, + "radii": { + "title": "Your website border radiuses.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:rounded-corner", + "@studioInpuTokenType size" + ], + "id": "#tokensConfig/radii", + "properties": { + "none": { + "id": "#tokensConfig/radii/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/none/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "2xs": { + "id": "#tokensConfig/radii/2xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/2xs/value", + "default": "0.125rem" + } + }, + "type": "object", + "default": { + "value": "0.125rem" + } + }, + "xs": { + "id": "#tokensConfig/radii/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/xs/value", + "default": "0.25rem" + } + }, + "type": "object", + "default": { + "value": "0.25rem" + } + }, + "sm": { + "id": "#tokensConfig/radii/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/sm/value", + "default": "0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.375rem" + } + }, + "md": { + "id": "#tokensConfig/radii/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/md/value", + "default": "0.5rem" + } + }, + "type": "object", + "default": { + "value": "0.5rem" + } + }, + "lg": { + "id": "#tokensConfig/radii/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/lg/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "xl": { + "id": "#tokensConfig/radii/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/xl/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "2xl": { + "id": "#tokensConfig/radii/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/2xl/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "3xl": { + "id": "#tokensConfig/radii/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/3xl/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "full": { + "id": "#tokensConfig/radii/full", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/full/value", + "default": "9999px" + } + }, + "type": "object", + "default": { + "value": "9999px" + } + } + }, + "type": "object", + "default": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + } + }, + "size": { + "title": "Your website sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/size", + "properties": { + "0": { + "id": "#tokensConfig/size/0", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/0/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "2": { + "id": "#tokensConfig/size/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/2/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + }, + "4": { + "id": "#tokensConfig/size/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/4/value", + "default": "4px" + } + }, + "type": "object", + "default": { + "value": "4px" + } + }, + "6": { + "id": "#tokensConfig/size/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/6/value", + "default": "6px" + } + }, + "type": "object", + "default": { + "value": "6px" + } + }, + "8": { + "id": "#tokensConfig/size/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/8/value", + "default": "8px" + } + }, + "type": "object", + "default": { + "value": "8px" + } + }, + "12": { + "id": "#tokensConfig/size/12", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/12/value", + "default": "12px" + } + }, + "type": "object", + "default": { + "value": "12px" + } + }, + "16": { + "id": "#tokensConfig/size/16", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/16/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "20": { + "id": "#tokensConfig/size/20", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/20/value", + "default": "20px" + } + }, + "type": "object", + "default": { + "value": "20px" + } + }, + "24": { + "id": "#tokensConfig/size/24", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/24/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "32": { + "id": "#tokensConfig/size/32", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/32/value", + "default": "32px" + } + }, + "type": "object", + "default": { + "value": "32px" + } + }, + "40": { + "id": "#tokensConfig/size/40", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/40/value", + "default": "40px" + } + }, + "type": "object", + "default": { + "value": "40px" + } + }, + "48": { + "id": "#tokensConfig/size/48", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/48/value", + "default": "48px" + } + }, + "type": "object", + "default": { + "value": "48px" + } + }, + "56": { + "id": "#tokensConfig/size/56", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/56/value", + "default": "56px" + } + }, + "type": "object", + "default": { + "value": "56px" + } + }, + "64": { + "id": "#tokensConfig/size/64", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/64/value", + "default": "64px" + } + }, + "type": "object", + "default": { + "value": "64px" + } + }, + "80": { + "id": "#tokensConfig/size/80", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/80/value", + "default": "80px" + } + }, + "type": "object", + "default": { + "value": "80px" + } + }, + "104": { + "id": "#tokensConfig/size/104", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/104/value", + "default": "104px" + } + }, + "type": "object", + "default": { + "value": "104px" + } + }, + "200": { + "id": "#tokensConfig/size/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/200/value", + "default": "200px" + } + }, + "type": "object", + "default": { + "value": "200px" + } + }, + "xs": { + "id": "#tokensConfig/size/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/xs/value", + "default": "20rem" + } + }, + "type": "object", + "default": { + "value": "20rem" + } + }, + "sm": { + "id": "#tokensConfig/size/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/sm/value", + "default": "24rem" + } + }, + "type": "object", + "default": { + "value": "24rem" + } + }, + "md": { + "id": "#tokensConfig/size/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/md/value", + "default": "28rem" + } + }, + "type": "object", + "default": { + "value": "28rem" + } + }, + "lg": { + "id": "#tokensConfig/size/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/lg/value", + "default": "32rem" + } + }, + "type": "object", + "default": { + "value": "32rem" + } + }, + "xl": { + "id": "#tokensConfig/size/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/xl/value", + "default": "36rem" + } + }, + "type": "object", + "default": { + "value": "36rem" + } + }, + "2xl": { + "id": "#tokensConfig/size/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/2xl/value", + "default": "42rem" + } + }, + "type": "object", + "default": { + "value": "42rem" + } + }, + "3xl": { + "id": "#tokensConfig/size/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/3xl/value", + "default": "48rem" + } + }, + "type": "object", + "default": { + "value": "48rem" + } + }, + "4xl": { + "id": "#tokensConfig/size/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/4xl/value", + "default": "56rem" + } + }, + "type": "object", + "default": { + "value": "56rem" + } + }, + "5xl": { + "id": "#tokensConfig/size/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/5xl/value", + "default": "64rem" + } + }, + "type": "object", + "default": { + "value": "64rem" + } + }, + "6xl": { + "id": "#tokensConfig/size/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/6xl/value", + "default": "72rem" + } + }, + "type": "object", + "default": { + "value": "72rem" + } + }, + "7xl": { + "id": "#tokensConfig/size/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/7xl/value", + "default": "80rem" + } + }, + "type": "object", + "default": { + "value": "80rem" + } + }, + "full": { + "id": "#tokensConfig/size/full", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/full/value", + "default": "100%" + } + }, + "type": "object", + "default": { + "value": "100%" + } + } + }, + "type": "object", + "default": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + } + }, + "space": { + "title": "Your website spacings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/space", + "properties": { + "0": { + "id": "#tokensConfig/space/0", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/0/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "1": { + "id": "#tokensConfig/space/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/1/value", + "default": "0.25rem" + } + }, + "type": "object", + "default": { + "value": "0.25rem" + } + }, + "2": { + "id": "#tokensConfig/space/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/2/value", + "default": "0.5rem" + } + }, + "type": "object", + "default": { + "value": "0.5rem" + } + }, + "3": { + "id": "#tokensConfig/space/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/3/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "4": { + "id": "#tokensConfig/space/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/space/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/space/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/space/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/space/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/space/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/space/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "11": { + "id": "#tokensConfig/space/11", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/11/value", + "default": "2.75rem" + } + }, + "type": "object", + "default": { + "value": "2.75rem" + } + }, + "12": { + "id": "#tokensConfig/space/12", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/12/value", + "default": "3rem" + } + }, + "type": "object", + "default": { + "value": "3rem" + } + }, + "14": { + "id": "#tokensConfig/space/14", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/14/value", + "default": "3.5rem" + } + }, + "type": "object", + "default": { + "value": "3.5rem" + } + }, + "16": { + "id": "#tokensConfig/space/16", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/16/value", + "default": "4rem" + } + }, + "type": "object", + "default": { + "value": "4rem" + } + }, + "20": { + "id": "#tokensConfig/space/20", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/20/value", + "default": "5rem" + } + }, + "type": "object", + "default": { + "value": "5rem" + } + }, + "24": { + "id": "#tokensConfig/space/24", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/24/value", + "default": "6rem" + } + }, + "type": "object", + "default": { + "value": "6rem" + } + }, + "28": { + "id": "#tokensConfig/space/28", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/28/value", + "default": "7rem" + } + }, + "type": "object", + "default": { + "value": "7rem" + } + }, + "32": { + "id": "#tokensConfig/space/32", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/32/value", + "default": "8rem" + } + }, + "type": "object", + "default": { + "value": "8rem" + } + }, + "36": { + "id": "#tokensConfig/space/36", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/36/value", + "default": "9rem" + } + }, + "type": "object", + "default": { + "value": "9rem" + } + }, + "40": { + "id": "#tokensConfig/space/40", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/40/value", + "default": "10rem" + } + }, + "type": "object", + "default": { + "value": "10rem" + } + }, + "44": { + "id": "#tokensConfig/space/44", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/44/value", + "default": "11rem" + } + }, + "type": "object", + "default": { + "value": "11rem" + } + }, + "48": { + "id": "#tokensConfig/space/48", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/48/value", + "default": "12rem" + } + }, + "type": "object", + "default": { + "value": "12rem" + } + }, + "52": { + "id": "#tokensConfig/space/52", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/52/value", + "default": "13rem" + } + }, + "type": "object", + "default": { + "value": "13rem" + } + }, + "56": { + "id": "#tokensConfig/space/56", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/56/value", + "default": "14rem" + } + }, + "type": "object", + "default": { + "value": "14rem" + } + }, + "60": { + "id": "#tokensConfig/space/60", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/60/value", + "default": "15rem" + } + }, + "type": "object", + "default": { + "value": "15rem" + } + }, + "64": { + "id": "#tokensConfig/space/64", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/64/value", + "default": "16rem" + } + }, + "type": "object", + "default": { + "value": "16rem" + } + }, + "72": { + "id": "#tokensConfig/space/72", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/72/value", + "default": "18rem" + } + }, + "type": "object", + "default": { + "value": "18rem" + } + }, + "80": { + "id": "#tokensConfig/space/80", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/80/value", + "default": "20rem" + } + }, + "type": "object", + "default": { + "value": "20rem" + } + }, + "96": { + "id": "#tokensConfig/space/96", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/96/value", + "default": "24rem" + } + }, + "type": "object", + "default": { + "value": "24rem" + } + }, + "128": { + "id": "#tokensConfig/space/128", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/128/value", + "default": "32rem" + } + }, + "type": "object", + "default": { + "value": "32rem" + } + }, + "px": { + "id": "#tokensConfig/space/px", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/px/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "rem": { + "id": "#tokensConfig/space/rem", + "properties": { + "125": { + "id": "#tokensConfig/space/rem/125", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/125/value", + "default": "0.125rem" + } + }, + "type": "object", + "default": { + "value": "0.125rem" + } + }, + "375": { + "id": "#tokensConfig/space/rem/375", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/375/value", + "default": "0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.375rem" + } + }, + "625": { + "id": "#tokensConfig/space/rem/625", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/625/value", + "default": "0.625rem" + } + }, + "type": "object", + "default": { + "value": "0.625rem" + } + }, + "875": { + "id": "#tokensConfig/space/rem/875", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/875/value", + "default": "0.875rem" + } + }, + "type": "object", + "default": { + "value": "0.875rem" + } + } + }, + "type": "object", + "default": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + } + }, + "type": "object", + "default": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + } + }, + "borderWidth": { + "title": "Your website border widths.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:border-all-outline-rounded" + ], + "id": "#tokensConfig/borderWidth", + "properties": { + "noBorder": { + "id": "#tokensConfig/borderWidth/noBorder", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/noBorder/value", + "default": "0" + } + }, + "type": "object", + "default": { + "value": "0" + } + }, + "sm": { + "id": "#tokensConfig/borderWidth/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/sm/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "md": { + "id": "#tokensConfig/borderWidth/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/md/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + }, + "lg": { + "id": "#tokensConfig/borderWidth/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/lg/value", + "default": "3px" + } + }, + "type": "object", + "default": { + "value": "3px" + } + } + }, + "type": "object", + "default": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + } + }, + "opacity": { + "title": "Your website opacities.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType opacity", + "@studioIcon material-symbols:opacity" + ], + "id": "#tokensConfig/opacity", + "properties": { + "noOpacity": { + "id": "#tokensConfig/opacity/noOpacity", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/noOpacity/value", + "default": "0" + } + }, + "type": "object", + "default": { + "value": "0" + } + }, + "bright": { + "id": "#tokensConfig/opacity/bright", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/bright/value", + "default": "0.1" + } + }, + "type": "object", + "default": { + "value": "0.1" + } + }, + "light": { + "id": "#tokensConfig/opacity/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/light/value", + "default": "0.15" + } + }, + "type": "object", + "default": { + "value": "0.15" + } + }, + "soft": { + "id": "#tokensConfig/opacity/soft", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/soft/value", + "default": "0.3" + } + }, + "type": "object", + "default": { + "value": "0.3" + } + }, + "medium": { + "id": "#tokensConfig/opacity/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/medium/value", + "default": "0.5" + } + }, + "type": "object", + "default": { + "value": "0.5" + } + }, + "high": { + "id": "#tokensConfig/opacity/high", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/high/value", + "default": "0.8" + } + }, + "type": "object", + "default": { + "value": "0.8" + } + }, + "total": { + "id": "#tokensConfig/opacity/total", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/total/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + } + }, + "type": "object", + "default": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + } + }, + "font": { + "title": "Your website fonts", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font", + "@studioIcon material-symbols:font-download-rounded" + ], + "id": "#tokensConfig/font", + "properties": { + "sans": { + "id": "#tokensConfig/font/sans", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/sans/value", + "default": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + } + }, + "type": "object", + "default": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + } + }, + "serif": { + "id": "#tokensConfig/font/serif", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/serif/value", + "default": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + } + }, + "type": "object", + "default": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + } + }, + "mono": { + "id": "#tokensConfig/font/mono", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/mono/value", + "default": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "type": "object", + "default": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + } + }, + "type": "object", + "default": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + } + }, + "fontWeight": { + "title": "Your website font weights.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-weight", + "@studioIcon radix-icons:font-style" + ], + "id": "#tokensConfig/fontWeight", + "properties": { + "thin": { + "id": "#tokensConfig/fontWeight/thin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/thin/value", + "default": "100" + } + }, + "type": "object", + "default": { + "value": "100" + } + }, + "extralight": { + "id": "#tokensConfig/fontWeight/extralight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/extralight/value", + "default": "200" + } + }, + "type": "object", + "default": { + "value": "200" + } + }, + "light": { + "id": "#tokensConfig/fontWeight/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/light/value", + "default": "300" + } + }, + "type": "object", + "default": { + "value": "300" + } + }, + "normal": { + "id": "#tokensConfig/fontWeight/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/normal/value", + "default": "400" + } + }, + "type": "object", + "default": { + "value": "400" + } + }, + "medium": { + "id": "#tokensConfig/fontWeight/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/medium/value", + "default": "500" + } + }, + "type": "object", + "default": { + "value": "500" + } + }, + "semibold": { + "id": "#tokensConfig/fontWeight/semibold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/semibold/value", + "default": "600" + } + }, + "type": "object", + "default": { + "value": "600" + } + }, + "bold": { + "id": "#tokensConfig/fontWeight/bold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/bold/value", + "default": "700" + } + }, + "type": "object", + "default": { + "value": "700" + } + }, + "extrabold": { + "id": "#tokensConfig/fontWeight/extrabold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/extrabold/value", + "default": "800" + } + }, + "type": "object", + "default": { + "value": "800" + } + }, + "black": { + "id": "#tokensConfig/fontWeight/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/black/value", + "default": "900" + } + }, + "type": "object", + "default": { + "value": "900" + } + } + }, + "type": "object", + "default": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + } + }, + "fontSize": { + "title": "Your website font sizes.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon radix-icons:font-style" + ], + "id": "#tokensConfig/fontSize", + "properties": { + "xs": { + "id": "#tokensConfig/fontSize/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/xs/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "sm": { + "id": "#tokensConfig/fontSize/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/sm/value", + "default": "0.875rem" + } + }, + "type": "object", + "default": { + "value": "0.875rem" + } + }, + "base": { + "id": "#tokensConfig/fontSize/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/base/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "lg": { + "id": "#tokensConfig/fontSize/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/lg/value", + "default": "1.125rem" + } + }, + "type": "object", + "default": { + "value": "1.125rem" + } + }, + "xl": { + "id": "#tokensConfig/fontSize/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/xl/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "2xl": { + "id": "#tokensConfig/fontSize/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/2xl/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "3xl": { + "id": "#tokensConfig/fontSize/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/3xl/value", + "default": "1.875rem" + } + }, + "type": "object", + "default": { + "value": "1.875rem" + } + }, + "4xl": { + "id": "#tokensConfig/fontSize/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/4xl/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "5xl": { + "id": "#tokensConfig/fontSize/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/5xl/value", + "default": "3rem" + } + }, + "type": "object", + "default": { + "value": "3rem" + } + }, + "6xl": { + "id": "#tokensConfig/fontSize/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/6xl/value", + "default": "3.75rem" + } + }, + "type": "object", + "default": { + "value": "3.75rem" + } + }, + "7xl": { + "id": "#tokensConfig/fontSize/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/7xl/value", + "default": "4.5rem" + } + }, + "type": "object", + "default": { + "value": "4.5rem" + } + }, + "8xl": { + "id": "#tokensConfig/fontSize/8xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/8xl/value", + "default": "6rem" + } + }, + "type": "object", + "default": { + "value": "6rem" + } + }, + "9xl": { + "id": "#tokensConfig/fontSize/9xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/9xl/value", + "default": "8rem" + } + }, + "type": "object", + "default": { + "value": "8rem" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + } + }, + "letterSpacing": { + "title": "Your website letter spacings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType letter-spacing", + "@studioIcon fluent:font-space-tracking-out-24-filled" + ], + "id": "#tokensConfig/letterSpacing", + "properties": { + "tighter": { + "id": "#tokensConfig/letterSpacing/tighter", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/tighter/value", + "default": "-0.05em" + } + }, + "type": "object", + "default": { + "value": "-0.05em" + } + }, + "tight": { + "id": "#tokensConfig/letterSpacing/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/tight/value", + "default": "-0.025em" + } + }, + "type": "object", + "default": { + "value": "-0.025em" + } + }, + "normal": { + "id": "#tokensConfig/letterSpacing/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/normal/value", + "default": "0em" + } + }, + "type": "object", + "default": { + "value": "0em" + } + }, + "wide": { + "id": "#tokensConfig/letterSpacing/wide", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/wide/value", + "default": "0.025em" + } + }, + "type": "object", + "default": { + "value": "0.025em" + } + }, + "wider": { + "id": "#tokensConfig/letterSpacing/wider", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/wider/value", + "default": "0.05em" + } + }, + "type": "object", + "default": { + "value": "0.05em" + } + }, + "widest": { + "id": "#tokensConfig/letterSpacing/widest", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/widest/value", + "default": "0.1em" + } + }, + "type": "object", + "default": { + "value": "0.1em" + } + } + }, + "type": "object", + "default": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + } + }, + "lead": { + "title": "Your website line heights.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon icon-park-outline:auto-line-height" + ], + "id": "#tokensConfig/lead", + "properties": { + "1": { + "id": "#tokensConfig/lead/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/1/value", + "default": ".025rem" + } + }, + "type": "object", + "default": { + "value": ".025rem" + } + }, + "2": { + "id": "#tokensConfig/lead/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/2/value", + "default": ".5rem" + } + }, + "type": "object", + "default": { + "value": ".5rem" + } + }, + "3": { + "id": "#tokensConfig/lead/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/3/value", + "default": ".75rem" + } + }, + "type": "object", + "default": { + "value": ".75rem" + } + }, + "4": { + "id": "#tokensConfig/lead/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/lead/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/lead/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/lead/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/lead/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/lead/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/lead/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "none": { + "id": "#tokensConfig/lead/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/none/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + }, + "tight": { + "id": "#tokensConfig/lead/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/tight/value", + "default": "1.25" + } + }, + "type": "object", + "default": { + "value": "1.25" + } + }, + "snug": { + "id": "#tokensConfig/lead/snug", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/snug/value", + "default": "1.375" + } + }, + "type": "object", + "default": { + "value": "1.375" + } + }, + "normal": { + "id": "#tokensConfig/lead/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/normal/value", + "default": "1.5" + } + }, + "type": "object", + "default": { + "value": "1.5" + } + }, + "relaxed": { + "id": "#tokensConfig/lead/relaxed", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/relaxed/value", + "default": "1.625" + } + }, + "type": "object", + "default": { + "value": "1.625" + } + }, + "loose": { + "id": "#tokensConfig/lead/loose", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/loose/value", + "default": "2" + } + }, + "type": "object", + "default": { + "value": "2" + } + } + }, + "type": "object", + "default": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + } + }, + "text": { + "title": "Your website text scales.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:format-size-rounded" + ], + "id": "#tokensConfig/text", + "properties": { + "xs": { + "id": "#tokensConfig/text/xs", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/xs/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xs/fontSize/value", + "default": "{fontSize.xs}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.xs}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/xs/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xs/lineHeight/value", + "default": "{lead.4}" + } + }, + "type": "object", + "default": { + "value": "{lead.4}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + } + }, + "sm": { + "id": "#tokensConfig/text/sm", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/sm/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/sm/fontSize/value", + "default": "{fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.sm}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/sm/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/sm/lineHeight/value", + "default": "{lead.5}" + } + }, + "type": "object", + "default": { + "value": "{lead.5}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + } + }, + "base": { + "id": "#tokensConfig/text/base", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/base/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/base/fontSize/value", + "default": "{fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.base}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/base/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/base/lineHeight/value", + "default": "{lead.6}" + } + }, + "type": "object", + "default": { + "value": "{lead.6}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + } + }, + "lg": { + "id": "#tokensConfig/text/lg", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/lg/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/lg/fontSize/value", + "default": "{fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.lg}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/lg/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/lg/lineHeight/value", + "default": "{lead.7}" + } + }, + "type": "object", + "default": { + "value": "{lead.7}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + } + }, + "xl": { + "id": "#tokensConfig/text/xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xl/fontSize/value", + "default": "{fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xl/lineHeight/value", + "default": "{lead.7}" + } + }, + "type": "object", + "default": { + "value": "{lead.7}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + } + }, + "2xl": { + "id": "#tokensConfig/text/2xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/2xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/2xl/fontSize/value", + "default": "{fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.2xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/2xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/2xl/lineHeight/value", + "default": "{lead.8}" + } + }, + "type": "object", + "default": { + "value": "{lead.8}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + } + }, + "3xl": { + "id": "#tokensConfig/text/3xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/3xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/3xl/fontSize/value", + "default": "{fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.3xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/3xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/3xl/lineHeight/value", + "default": "{lead.9}" + } + }, + "type": "object", + "default": { + "value": "{lead.9}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + } + }, + "4xl": { + "id": "#tokensConfig/text/4xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/4xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/4xl/fontSize/value", + "default": "{fontSize.4xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.4xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/4xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/4xl/lineHeight/value", + "default": "{lead.10}" + } + }, + "type": "object", + "default": { + "value": "{lead.10}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + } + }, + "5xl": { + "id": "#tokensConfig/text/5xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/5xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/5xl/fontSize/value", + "default": "{fontSize.5xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.5xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/5xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/5xl/lineHeight/value", + "default": "{lead.none}" + } + }, + "type": "object", + "default": { + "value": "{lead.none}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "6xl": { + "id": "#tokensConfig/text/6xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/6xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/6xl/fontSize/value", + "default": "{fontSize.6xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.6xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/6xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/6xl/lineHeight/value", + "default": "{lead.none}" + } + }, + "type": "object", + "default": { + "value": "{lead.none}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + } + }, + "type": "object", + "default": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + } + }, + "elements": { + "title": "All the configurable tokens for your Elements.", + "tags": [ + "@studioIcon uiw:component" + ], + "id": "#tokensConfig/elements", + "properties": { + "text": { + "id": "#tokensConfig/elements/text", + "properties": { + "primary": { + "id": "#tokensConfig/elements/text/primary", + "properties": { + "color": { + "id": "#tokensConfig/elements/text/primary/color", + "properties": { + "static": { + "id": "#tokensConfig/elements/text/primary/color/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/primary/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/primary/color/static/value/initial", + "default": "{color.gray.900}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/primary/color/static/value/dark", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/text/primary/color/hover", + "type": "any", + "default": {} + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + } + }, + "type": "object", + "default": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/text/secondary", + "properties": { + "color": { + "id": "#tokensConfig/elements/text/secondary/color", + "properties": { + "static": { + "id": "#tokensConfig/elements/text/secondary/color/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/secondary/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/static/value/initial", + "default": "{color.gray.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/static/value/dark", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/text/secondary/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/secondary/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/hover/value/initial", + "default": "{color.gray.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/hover/value/dark", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + } + }, + "container": { + "title": "Main container sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:width-full-outline" + ], + "id": "#tokensConfig/elements/container", + "properties": { + "maxWidth": { + "id": "#tokensConfig/elements/container/maxWidth", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/maxWidth/value", + "default": "80rem" + } + }, + "type": "object", + "default": { + "value": "80rem" + } + }, + "padding": { + "id": "#tokensConfig/elements/container/padding", + "properties": { + "mobile": { + "id": "#tokensConfig/elements/container/padding/mobile", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/mobile/value", + "default": "{space.4}" + } + }, + "type": "object", + "default": { + "value": "{space.4}" + } + }, + "xs": { + "id": "#tokensConfig/elements/container/padding/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/xs/value", + "default": "{space.4}" + } + }, + "type": "object", + "default": { + "value": "{space.4}" + } + }, + "sm": { + "id": "#tokensConfig/elements/container/padding/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/sm/value", + "default": "{space.6}" + } + }, + "type": "object", + "default": { + "value": "{space.6}" + } + }, + "md": { + "id": "#tokensConfig/elements/container/padding/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/md/value", + "default": "{space.6}" + } + }, + "type": "object", + "default": { + "value": "{space.6}" + } + } + }, + "type": "object", + "default": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + } + }, + "type": "object", + "default": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + } + }, + "backdrop": { + "title": "Backdrops used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:blur-circular" + ], + "id": "#tokensConfig/elements/backdrop", + "properties": { + "filter": { + "id": "#tokensConfig/elements/backdrop/filter", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/filter/value", + "default": "saturate(200%) blur(20px)" + } + }, + "type": "object", + "default": { + "value": "saturate(200%) blur(20px)" + } + }, + "background": { + "id": "#tokensConfig/elements/backdrop/background", + "properties": { + "value": { + "id": "#tokensConfig/elements/backdrop/background/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/background/value/initial", + "default": "#fffc" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/background/value/dark", + "default": "#0c0d0ccc" + } + }, + "type": "object", + "default": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + } + }, + "type": "object", + "default": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + } + }, + "border": { + "title": "Borders used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:border-all-outline-rounded" + ], + "id": "#tokensConfig/elements/border", + "properties": { + "primary": { + "id": "#tokensConfig/elements/border/primary", + "properties": { + "static": { + "id": "#tokensConfig/elements/border/primary/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/primary/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/static/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/static/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/border/primary/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/primary/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/hover/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/hover/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/border/secondary", + "properties": { + "static": { + "id": "#tokensConfig/elements/border/secondary/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/secondary/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/static/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/static/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/border/secondary/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/secondary/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/hover/value/initial", + "default": "" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/hover/value/dark", + "default": "" + } + }, + "type": "object", + "default": { + "initial": "", + "dark": "" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + } + }, + "surface": { + "title": "Surfaces used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon fluent:surface-hub-20-filled" + ], + "id": "#tokensConfig/elements/surface", + "properties": { + "background": { + "id": "#tokensConfig/elements/surface/background", + "properties": { + "base": { + "id": "#tokensConfig/elements/surface/background/base", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/background/base/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/background/base/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/background/base/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "primary": { + "id": "#tokensConfig/elements/surface/primary", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/elements/surface/primary/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/surface/secondary", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/elements/surface/secondary/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + } + }, + "type": "object", + "default": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + } + }, + "state": { + "title": "Color states used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon mdi:palette-advanced" + ], + "id": "#tokensConfig/elements/state", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/primary/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/primary/value/initial", + "default": "{color.primary.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/primary/value/dark", + "default": "{color.primary.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/secondary/value/initial", + "default": "{color.primary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/secondary/value/dark", + "default": "{color.primary.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/primary/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial", + "default": "{color.primary.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark", + "default": "{color.primary.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial", + "default": "{color.primary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/primary/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value/initial", + "default": "{color.primary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value/dark", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value/initial", + "default": "{color.primary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value/dark", + "default": "{color.primary.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + } + }, + "info": { + "id": "#tokensConfig/elements/state/info", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/info/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/primary/value/initial", + "default": "{color.blue.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/primary/value/dark", + "default": "{color.blue.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/secondary/value/initial", + "default": "{color.blue.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/secondary/value/dark", + "default": "{color.blue.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/info/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value/initial", + "default": "{color.blue.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value/dark", + "default": "{color.blue.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial", + "default": "{color.blue.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark", + "default": "{color.blue.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/info/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/primary/value/initial", + "default": "{color.blue.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/primary/value/dark", + "default": "{color.blue.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value/initial", + "default": "{color.blue.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value/dark", + "default": "{color.blue.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + } + }, + "success": { + "id": "#tokensConfig/elements/state/success", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/success/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/primary/value/initial", + "default": "{color.green.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/primary/value/dark", + "default": "{color.green.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/secondary/value/initial", + "default": "{color.green.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/secondary/value/dark", + "default": "{color.green.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/success/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value/initial", + "default": "{color.green.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value/dark", + "default": "{color.green.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial", + "default": "{color.green.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark", + "default": "{color.green.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/success/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/primary/value/initial", + "default": "{color.green.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/primary/value/dark", + "default": "{color.green.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value/initial", + "default": "{color.green.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value/dark", + "default": "{color.green.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + } + }, + "warning": { + "id": "#tokensConfig/elements/state/warning", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/warning/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/primary/value/initial", + "default": "{color.yellow.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/primary/value/dark", + "default": "{color.yellow.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/secondary/value/initial", + "default": "{color.yellow.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/secondary/value/dark", + "default": "{color.yellow.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/warning/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial", + "default": "{color.yellow.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark", + "default": "{color.yellow.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial", + "default": "{color.yellow.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark", + "default": "{color.yellow.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/warning/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value/initial", + "default": "{color.yellow.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value/dark", + "default": "{color.yellow.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value/initial", + "default": "{color.yellow.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value/dark", + "default": "{color.yellow.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + } + }, + "danger": { + "id": "#tokensConfig/elements/state/danger", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/danger/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/primary/value/initial", + "default": "{color.red.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/primary/value/dark", + "default": "{color.red.300}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/secondary/value/initial", + "default": "{color.red.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/secondary/value/dark", + "default": "{color.red.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/danger/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial", + "default": "{color.red.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark", + "default": "{color.red.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial", + "default": "{color.red.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark", + "default": "{color.red.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/danger/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value/initial", + "default": "{color.red.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value/dark", + "default": "{color.red.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value/initial", + "default": "{color.red.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value/dark", + "default": "{color.red.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + } + }, + "type": "object", + "default": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + } + }, + "typography": { + "title": "All the configurable tokens for your Typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:article" + ], + "id": "#tokensConfig/typography", + "properties": { + "body": { + "id": "#tokensConfig/typography/body", + "properties": { + "color": { + "id": "#tokensConfig/typography/body/color", + "properties": { + "value": { + "id": "#tokensConfig/typography/body/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/typography/body/color/value/initial", + "default": "{color.black}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/typography/body/color/value/dark", + "default": "{color.white}" + } + }, + "type": "object", + "default": { + "initial": "{color.black}", + "dark": "{color.white}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/typography/body/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/typography/body/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/typography/body/backgroundColor/value/initial", + "default": "{color.white}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/typography/body/backgroundColor/value/dark", + "default": "{color.black}" + } + }, + "type": "object", + "default": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + } + }, + "type": "object", + "default": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + } + }, + "verticalMargin": { + "title": "Vertical spacings between paragraphs.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon mingcute:line-height-line" + ], + "id": "#tokensConfig/typography/verticalMargin", + "properties": { + "sm": { + "id": "#tokensConfig/typography/verticalMargin/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/verticalMargin/sm/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "base": { + "id": "#tokensConfig/typography/verticalMargin/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/verticalMargin/base/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + } + }, + "type": "object", + "default": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + } + }, + "letterSpacing": { + "title": "Horizontal spacings between letters.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon mingcute:letter-spacing-line" + ], + "id": "#tokensConfig/typography/letterSpacing", + "properties": { + "tight": { + "id": "#tokensConfig/typography/letterSpacing/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/letterSpacing/tight/value", + "default": "-0.025em" + } + }, + "type": "object", + "default": { + "value": "-0.025em" + } + }, + "wide": { + "id": "#tokensConfig/typography/letterSpacing/wide", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/letterSpacing/wide/value", + "default": "0.025em" + } + }, + "type": "object", + "default": { + "value": "0.025em" + } + } + }, + "type": "object", + "default": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + } + }, + "fontSize": { + "title": "Horizontal spacings between letters.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon mingcute:font-size-fill" + ], + "id": "#tokensConfig/typography/fontSize", + "properties": { + "xs": { + "id": "#tokensConfig/typography/fontSize/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/xs/value", + "default": "12px" + } + }, + "type": "object", + "default": { + "value": "12px" + } + }, + "sm": { + "id": "#tokensConfig/typography/fontSize/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/sm/value", + "default": "14px" + } + }, + "type": "object", + "default": { + "value": "14px" + } + }, + "base": { + "id": "#tokensConfig/typography/fontSize/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/base/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "lg": { + "id": "#tokensConfig/typography/fontSize/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/lg/value", + "default": "18px" + } + }, + "type": "object", + "default": { + "value": "18px" + } + }, + "xl": { + "id": "#tokensConfig/typography/fontSize/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/xl/value", + "default": "20px" + } + }, + "type": "object", + "default": { + "value": "20px" + } + }, + "2xl": { + "id": "#tokensConfig/typography/fontSize/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/2xl/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "3xl": { + "id": "#tokensConfig/typography/fontSize/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/3xl/value", + "default": "30px" + } + }, + "type": "object", + "default": { + "value": "30px" + } + }, + "4xl": { + "id": "#tokensConfig/typography/fontSize/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/4xl/value", + "default": "36px" + } + }, + "type": "object", + "default": { + "value": "36px" + } + }, + "5xl": { + "id": "#tokensConfig/typography/fontSize/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/5xl/value", + "default": "48px" + } + }, + "type": "object", + "default": { + "value": "48px" + } + }, + "6xl": { + "id": "#tokensConfig/typography/fontSize/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/6xl/value", + "default": "60px" + } + }, + "type": "object", + "default": { + "value": "60px" + } + }, + "7xl": { + "id": "#tokensConfig/typography/fontSize/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/7xl/value", + "default": "72px" + } + }, + "type": "object", + "default": { + "value": "72px" + } + }, + "8xl": { + "id": "#tokensConfig/typography/fontSize/8xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/8xl/value", + "default": "96px" + } + }, + "type": "object", + "default": { + "value": "96px" + } + }, + "9xl": { + "id": "#tokensConfig/typography/fontSize/9xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/9xl/value", + "default": "128px" + } + }, + "type": "object", + "default": { + "value": "128px" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + } + }, + "fontWeight": { + "title": "Font weights used in typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon mingcute:bold-fill" + ], + "id": "#tokensConfig/typography/fontWeight", + "properties": { + "thin": { + "id": "#tokensConfig/typography/fontWeight/thin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/thin/value", + "default": "100" + } + }, + "type": "object", + "default": { + "value": "100" + } + }, + "extralight": { + "id": "#tokensConfig/typography/fontWeight/extralight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/extralight/value", + "default": "200" + } + }, + "type": "object", + "default": { + "value": "200" + } + }, + "light": { + "id": "#tokensConfig/typography/fontWeight/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/light/value", + "default": "300" + } + }, + "type": "object", + "default": { + "value": "300" + } + }, + "normal": { + "id": "#tokensConfig/typography/fontWeight/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/normal/value", + "default": "400" + } + }, + "type": "object", + "default": { + "value": "400" + } + }, + "medium": { + "id": "#tokensConfig/typography/fontWeight/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/medium/value", + "default": "500" + } + }, + "type": "object", + "default": { + "value": "500" + } + }, + "semibold": { + "id": "#tokensConfig/typography/fontWeight/semibold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/semibold/value", + "default": "600" + } + }, + "type": "object", + "default": { + "value": "600" + } + }, + "bold": { + "id": "#tokensConfig/typography/fontWeight/bold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/bold/value", + "default": "700" + } + }, + "type": "object", + "default": { + "value": "700" + } + }, + "extrabold": { + "id": "#tokensConfig/typography/fontWeight/extrabold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/extrabold/value", + "default": "800" + } + }, + "type": "object", + "default": { + "value": "800" + } + }, + "black": { + "id": "#tokensConfig/typography/fontWeight/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/black/value", + "default": "900" + } + }, + "type": "object", + "default": { + "value": "900" + } + } + }, + "type": "object", + "default": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + } + }, + "lead": { + "title": "Line heights used in your typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon material-symbols:height-rounded" + ], + "id": "#tokensConfig/typography/lead", + "properties": { + "1": { + "id": "#tokensConfig/typography/lead/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/1/value", + "default": ".025rem" + } + }, + "type": "object", + "default": { + "value": ".025rem" + } + }, + "2": { + "id": "#tokensConfig/typography/lead/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/2/value", + "default": ".5rem" + } + }, + "type": "object", + "default": { + "value": ".5rem" + } + }, + "3": { + "id": "#tokensConfig/typography/lead/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/3/value", + "default": ".75rem" + } + }, + "type": "object", + "default": { + "value": ".75rem" + } + }, + "4": { + "id": "#tokensConfig/typography/lead/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/typography/lead/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/typography/lead/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/typography/lead/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/typography/lead/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/typography/lead/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/typography/lead/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "none": { + "id": "#tokensConfig/typography/lead/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/none/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + }, + "tight": { + "id": "#tokensConfig/typography/lead/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/tight/value", + "default": "1.25" + } + }, + "type": "object", + "default": { + "value": "1.25" + } + }, + "snug": { + "id": "#tokensConfig/typography/lead/snug", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/snug/value", + "default": "1.375" + } + }, + "type": "object", + "default": { + "value": "1.375" + } + }, + "normal": { + "id": "#tokensConfig/typography/lead/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/normal/value", + "default": "1.5" + } + }, + "type": "object", + "default": { + "value": "1.5" + } + }, + "relaxed": { + "id": "#tokensConfig/typography/lead/relaxed", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/relaxed/value", + "default": "1.625" + } + }, + "type": "object", + "default": { + "value": "1.625" + } + }, + "loose": { + "id": "#tokensConfig/typography/lead/loose", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/loose/value", + "default": "2" + } + }, + "type": "object", + "default": { + "value": "2" + } + } + }, + "type": "object", + "default": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + } + }, + "font": { + "title": "Your typography fonts", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font", + "@studioIcon material-symbols:font-download-rounded" + ], + "id": "#tokensConfig/typography/font", + "properties": { + "display": { + "id": "#tokensConfig/typography/font/display", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/display/value", + "default": "{font.sans}" + } + }, + "type": "object", + "default": { + "value": "{font.sans}" + } + }, + "body": { + "id": "#tokensConfig/typography/font/body", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/body/value", + "default": "{font.sans}" + } + }, + "type": "object", + "default": { + "value": "{font.sans}" + } + }, + "code": { + "id": "#tokensConfig/typography/font/code", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/code/value", + "default": "{font.mono}" + } + }, + "type": "object", + "default": { + "value": "{font.mono}" + } + } + }, + "type": "object", + "default": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + } + }, + "color": { + "title": "Your typography color palette.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon ph:palette" + ], + "id": "#tokensConfig/typography/color", + "properties": { + "primary": { + "id": "#tokensConfig/typography/color/primary", + "properties": { + "50": { + "id": "#tokensConfig/typography/color/primary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/50/value", + "default": "{color.primary.50}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.50}" + } + }, + "100": { + "id": "#tokensConfig/typography/color/primary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/100/value", + "default": "{color.primary.100}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.100}" + } + }, + "200": { + "id": "#tokensConfig/typography/color/primary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/200/value", + "default": "{color.primary.200}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.200}" + } + }, + "300": { + "id": "#tokensConfig/typography/color/primary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/300/value", + "default": "{color.primary.300}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.300}" + } + }, + "400": { + "id": "#tokensConfig/typography/color/primary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/400/value", + "default": "{color.primary.400}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.400}" + } + }, + "500": { + "id": "#tokensConfig/typography/color/primary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/500/value", + "default": "{color.primary.500}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.500}" + } + }, + "600": { + "id": "#tokensConfig/typography/color/primary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/600/value", + "default": "{color.primary.600}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.600}" + } + }, + "700": { + "id": "#tokensConfig/typography/color/primary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/700/value", + "default": "{color.primary.700}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.700}" + } + }, + "800": { + "id": "#tokensConfig/typography/color/primary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/800/value", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.800}" + } + }, + "900": { + "id": "#tokensConfig/typography/color/primary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/900/value", + "default": "{color.primary.900}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/typography/color/secondary", + "properties": { + "50": { + "id": "#tokensConfig/typography/color/secondary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/50/value", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.50}" + } + }, + "100": { + "id": "#tokensConfig/typography/color/secondary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/100/value", + "default": "{color.gray.100}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.100}" + } + }, + "200": { + "id": "#tokensConfig/typography/color/secondary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/200/value", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.200}" + } + }, + "300": { + "id": "#tokensConfig/typography/color/secondary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/300/value", + "default": "{color.gray.300}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.300}" + } + }, + "400": { + "id": "#tokensConfig/typography/color/secondary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/400/value", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.400}" + } + }, + "500": { + "id": "#tokensConfig/typography/color/secondary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/500/value", + "default": "{color.gray.500}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.500}" + } + }, + "600": { + "id": "#tokensConfig/typography/color/secondary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/600/value", + "default": "{color.gray.600}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.600}" + } + }, + "700": { + "id": "#tokensConfig/typography/color/secondary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/700/value", + "default": "{color.gray.700}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.700}" + } + }, + "800": { + "id": "#tokensConfig/typography/color/secondary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/800/value", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.800}" + } + }, + "900": { + "id": "#tokensConfig/typography/color/secondary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/900/value", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + } + }, + "type": "object", + "default": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + } + }, + "prose": { + "title": "All the configurable tokens for your Prose components.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon lucide:component" + ], + "id": "#tokensConfig/prose", + "properties": { + "p": { + "id": "#tokensConfig/prose/p", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/p/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/fontSize/value", + "default": "{typography.fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.base}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/p/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/lineHeight/value", + "default": "{typography.lead.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.normal}" + } + }, + "margin": { + "id": "#tokensConfig/prose/p/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "br": { + "id": "#tokensConfig/prose/p/br", + "properties": { + "margin": { + "id": "#tokensConfig/prose/p/br/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/br/margin/value", + "default": "{typography.verticalMargin.base} 0 0 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + } + }, + "h1": { + "id": "#tokensConfig/prose/h1", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h1/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/margin/value", + "default": "0 0 2rem" + } + }, + "type": "object", + "default": { + "value": "0 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h1/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/fontSize/value", + "default": "{typography.fontSize.5xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.5xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h1/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/lineHeight/value", + "default": "{typography.lead.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.tight}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h1/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/fontWeight/value", + "default": "{typography.fontWeight.bold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.bold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h1/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h1/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/iconSize/value", + "default": "{typography.fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.3xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + } + }, + "h2": { + "id": "#tokensConfig/prose/h2", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h2/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h2/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/fontSize/value", + "default": "{typography.fontSize.4xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.4xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h2/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/lineHeight/value", + "default": "{typography.lead.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.tight}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h2/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h2/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h2/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/iconSize/value", + "default": "{typography.fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.2xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + } + }, + "h3": { + "id": "#tokensConfig/prose/h3", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h3/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h3/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/fontSize/value", + "default": "{typography.fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.3xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h3/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h3/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h3/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h3/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/iconSize/value", + "default": "{typography.fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + } + }, + "h4": { + "id": "#tokensConfig/prose/h4", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h4/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h4/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/fontSize/value", + "default": "{typography.fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.2xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h4/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h4/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h4/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h4/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/iconSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + } + }, + "h5": { + "id": "#tokensConfig/prose/h5", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h5/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h5/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/fontSize/value", + "default": "{typography.fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h5/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h5/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h5/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/iconSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + } + }, + "h6": { + "id": "#tokensConfig/prose/h6", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h6/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h6/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/fontSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h6/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/lineHeight/value", + "default": "{typography.lead.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.normal}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h6/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h6/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/iconSize/value", + "default": "{typography.fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.base}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + } + }, + "strong": { + "id": "#tokensConfig/prose/strong", + "properties": { + "fontWeight": { + "id": "#tokensConfig/prose/strong/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/strong/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + } + }, + "type": "object", + "default": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + } + }, + "img": { + "id": "#tokensConfig/prose/img", + "properties": { + "margin": { + "id": "#tokensConfig/prose/img/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/img/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + } + }, + "a": { + "id": "#tokensConfig/prose/a", + "properties": { + "textDecoration": { + "id": "#tokensConfig/prose/a/textDecoration", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/textDecoration/value", + "default": "none" + } + }, + "type": "object", + "default": { + "value": "none" + } + }, + "color": { + "id": "#tokensConfig/prose/a/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/color/static/value/initial", + "default": "inherit" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/color/static/value/dark", + "default": "inherit" + } + }, + "type": "object", + "default": { + "initial": "inherit", + "dark": "inherit" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/color/hover/value/initial", + "default": "{typography.color.primary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/color/hover/value/dark", + "default": "{typography.color.primary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + } + }, + "border": { + "id": "#tokensConfig/prose/a/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/a/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/a/border/style", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/border/style/static", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/style/static/value", + "default": "dashed" + } + }, + "type": "object", + "default": { + "value": "dashed" + } + }, + "hover": { + "id": "#tokensConfig/prose/a/border/style/hover", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/style/hover/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + } + }, + "type": "object", + "default": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + } + }, + "color": { + "id": "#tokensConfig/prose/a/border/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/border/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/border/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/static/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/static/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/border/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/border/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/hover/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/hover/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "distance": { + "id": "#tokensConfig/prose/a/border/distance", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/distance/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/a/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/fontWeight/value", + "default": "{typography.fontWeight.medium}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.medium}" + } + }, + "hasCode": { + "id": "#tokensConfig/prose/a/hasCode", + "properties": { + "borderBottom": { + "id": "#tokensConfig/prose/a/hasCode/borderBottom", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/hasCode/borderBottom/value", + "default": "none" + } + }, + "type": "object", + "default": { + "value": "none" + } + } + }, + "type": "object", + "default": { + "borderBottom": { + "value": "none" + } + } + }, + "code": { + "id": "#tokensConfig/prose/a/code", + "properties": { + "border": { + "id": "#tokensConfig/prose/a/code/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/a/code/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/width/value", + "default": "{prose.a.border.width}" + } + }, + "type": "object", + "default": { + "value": "{prose.a.border.width}" + } + }, + "style": { + "id": "#tokensConfig/prose/a/code/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/style/value", + "default": "{prose.a.border.style.static}" + } + }, + "type": "object", + "default": { + "value": "{prose.a.border.style.static}" + } + }, + "color": { + "id": "#tokensConfig/prose/a/code/border/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/border/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/border/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/static/value/initial", + "default": "{typography.color.secondary.400}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/static/value/dark", + "default": "{typography.color.secondary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/code/border/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/border/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/hover/value/initial", + "default": "{typography.color.primary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/hover/value/dark", + "default": "{typography.color.primary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + } + }, + "color": { + "id": "#tokensConfig/prose/a/code/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/static/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/static/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/code/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/hover/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/hover/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "background": { + "id": "#tokensConfig/prose/a/code/background", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/background/static", + "type": "any", + "default": {} + }, + "hover": { + "id": "#tokensConfig/prose/a/code/background/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/background/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/background/hover/value/initial", + "default": "{typography.color.primary.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/background/hover/value/dark", + "default": "{typography.color.primary.900}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + }, + "type": "object", + "default": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "type": "object", + "default": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + } + }, + "type": "object", + "default": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + } + }, + "blockquote": { + "id": "#tokensConfig/prose/blockquote", + "properties": { + "margin": { + "id": "#tokensConfig/prose/blockquote/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/blockquote/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/paddingInlineStart/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "quotes": { + "id": "#tokensConfig/prose/blockquote/quotes", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/quotes/value", + "default": "'201C' '201D' '2018' '2019'" + } + }, + "type": "object", + "default": { + "value": "'201C' '201D' '2018' '2019'" + } + }, + "color": { + "id": "#tokensConfig/prose/blockquote/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/blockquote/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/color/value/initial", + "default": "{typography.color.secondary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/color/value/dark", + "default": "{typography.color.secondary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "border": { + "id": "#tokensConfig/prose/blockquote/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/blockquote/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/width/value", + "default": "4px" + } + }, + "type": "object", + "default": { + "value": "4px" + } + }, + "style": { + "id": "#tokensConfig/prose/blockquote/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/blockquote/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/blockquote/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/color/value/dark", + "default": "{typography.color.secondary.700}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + } + }, + "ul": { + "id": "#tokensConfig/prose/ul", + "properties": { + "listStyleType": { + "id": "#tokensConfig/prose/ul/listStyleType", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/listStyleType/value", + "default": "disc" + } + }, + "type": "object", + "default": { + "value": "disc" + } + }, + "margin": { + "id": "#tokensConfig/prose/ul/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/ul/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/paddingInlineStart/value", + "default": "21px" + } + }, + "type": "object", + "default": { + "value": "21px" + } + }, + "li": { + "id": "#tokensConfig/prose/ul/li", + "properties": { + "markerColor": { + "id": "#tokensConfig/prose/ul/li/markerColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/ul/li/markerColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/ul/li/markerColor/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/ul/li/markerColor/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "type": "object", + "default": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "ol": { + "id": "#tokensConfig/prose/ol", + "properties": { + "listStyleType": { + "id": "#tokensConfig/prose/ol/listStyleType", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/listStyleType/value", + "default": "decimal" + } + }, + "type": "object", + "default": { + "value": "decimal" + } + }, + "margin": { + "id": "#tokensConfig/prose/ol/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/ol/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/paddingInlineStart/value", + "default": "21px" + } + }, + "type": "object", + "default": { + "value": "21px" + } + }, + "li": { + "id": "#tokensConfig/prose/ol/li", + "properties": { + "markerColor": { + "id": "#tokensConfig/prose/ol/li/markerColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/ol/li/markerColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/ol/li/markerColor/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/ol/li/markerColor/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "type": "object", + "default": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "li": { + "id": "#tokensConfig/prose/li", + "properties": { + "margin": { + "id": "#tokensConfig/prose/li/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/li/margin/value", + "default": "{typography.verticalMargin.sm} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm} 0" + } + }, + "listStylePosition": { + "id": "#tokensConfig/prose/li/listStylePosition", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/li/listStylePosition/value", + "default": "outside" + } + }, + "type": "object", + "default": { + "value": "outside" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + } + }, + "hr": { + "id": "#tokensConfig/prose/hr", + "properties": { + "margin": { + "id": "#tokensConfig/prose/hr/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "style": { + "id": "#tokensConfig/prose/hr/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "width": { + "id": "#tokensConfig/prose/hr/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "color": { + "id": "#tokensConfig/prose/hr/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/hr/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/hr/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/hr/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "table": { + "id": "#tokensConfig/prose/table", + "properties": { + "margin": { + "id": "#tokensConfig/prose/table/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "textAlign": { + "id": "#tokensConfig/prose/table/textAlign", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/textAlign/value", + "default": "start" + } + }, + "type": "object", + "default": { + "value": "start" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/table/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/table/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/lineHeight/value", + "default": "{typography.lead.6}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.6}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + } + }, + "thead": { + "id": "#tokensConfig/prose/thead", + "properties": { + "border": { + "id": "#tokensConfig/prose/thead/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/thead/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/width/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "style": { + "id": "#tokensConfig/prose/thead/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/thead/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/thead/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/color/value/initial", + "default": "{typography.color.secondary.300}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/color/value/dark", + "default": "{typography.color.secondary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + } + }, + "borderBottom": { + "id": "#tokensConfig/prose/thead/borderBottom", + "properties": { + "width": { + "id": "#tokensConfig/prose/thead/borderBottom/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/thead/borderBottom/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/thead/borderBottom/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/thead/borderBottom/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "th": { + "id": "#tokensConfig/prose/th", + "properties": { + "color": { + "id": "#tokensConfig/prose/th/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/th/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/th/color/value/initial", + "default": "{typography.color.secondary.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/th/color/value/dark", + "default": "{typography.color.secondary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "padding": { + "id": "#tokensConfig/prose/th/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/padding/value", + "default": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/th/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "textAlign": { + "id": "#tokensConfig/prose/th/textAlign", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/textAlign/value", + "default": "inherit" + } + }, + "type": "object", + "default": { + "value": "inherit" + } + } + }, + "type": "object", + "default": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + } + }, + "tbody": { + "id": "#tokensConfig/prose/tbody", + "properties": { + "tr": { + "id": "#tokensConfig/prose/tbody/tr", + "properties": { + "borderBottom": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom", + "properties": { + "width": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/style/value", + "default": "dashed" + } + }, + "type": "object", + "default": { + "value": "dashed" + } + }, + "color": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "td": { + "id": "#tokensConfig/prose/tbody/td", + "properties": { + "padding": { + "id": "#tokensConfig/prose/tbody/td/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/td/padding/value", + "default": "{typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "type": "object", + "default": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "code": { + "id": "#tokensConfig/prose/tbody/code", + "properties": { + "inline": { + "id": "#tokensConfig/prose/tbody/code/inline", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/tbody/code/inline/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/code/inline/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "type": "object", + "default": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + } + }, + "type": "object", + "default": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + } + }, + "code": { + "id": "#tokensConfig/prose/code", + "properties": { + "block": { + "id": "#tokensConfig/prose/code/block", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/code/block/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "margin": { + "id": "#tokensConfig/prose/code/block/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "border": { + "id": "#tokensConfig/prose/code/block/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/code/block/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/code/block/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/code/block/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "color": { + "id": "#tokensConfig/prose/code/block/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/color/value/initial", + "default": "{typography.color.secondary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/color/value/dark", + "default": "{typography.color.secondary.200}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/prose/code/block/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backgroundColor/value/initial", + "default": "{typography.color.secondary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backgroundColor/value/dark", + "default": "{typography.color.secondary.900}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + } + }, + "backdropFilter": { + "id": "#tokensConfig/prose/code/block/backdropFilter", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/backdropFilter/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backdropFilter/value/initial", + "default": "contrast(1)" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backdropFilter/value/dark", + "default": "contrast(1)" + } + }, + "type": "object", + "default": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + } + }, + "pre": { + "id": "#tokensConfig/prose/code/block/pre", + "properties": { + "padding": { + "id": "#tokensConfig/prose/code/block/pre/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/pre/padding/value", + "default": "{typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "type": "object", + "default": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + } + }, + "inline": { + "id": "#tokensConfig/prose/code/inline", + "properties": { + "borderRadius": { + "id": "#tokensConfig/prose/code/inline/borderRadius", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/borderRadius/value", + "default": "{radii.xs}" + } + }, + "type": "object", + "default": { + "value": "{radii.xs}" + } + }, + "padding": { + "id": "#tokensConfig/prose/code/inline/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/padding/value", + "default": "0.2rem 0.375rem 0.2rem 0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/code/inline/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/code/inline/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/fontWeight/value", + "default": "{typography.fontWeight.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.normal}" + } + }, + "color": { + "id": "#tokensConfig/prose/code/inline/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/inline/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/color/value/initial", + "default": "{typography.color.secondary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/color/value/dark", + "default": "{typography.color.secondary.200}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/prose/code/inline/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/inline/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/backgroundColor/value/initial", + "default": "{typography.color.secondary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/backgroundColor/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + } + }, + "type": "object", + "default": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + } + }, + "docus": { + "title": "All the configurable tokens from Docus.", + "tags": [ + "@studioIcon material-symbols:docs" + ], + "id": "#tokensConfig/docus", + "properties": { + "body": { + "id": "#tokensConfig/docus/body", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/docus/body/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/docus/body/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/body/backgroundColor/value/initial", + "default": "{color.white}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/body/backgroundColor/value/dark", + "default": "{color.black}" + } + }, + "type": "object", + "default": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "color": { + "id": "#tokensConfig/docus/body/color", + "properties": { + "value": { + "id": "#tokensConfig/docus/body/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/body/color/value/initial", + "default": "{color.gray.800}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/body/color/value/dark", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + } + }, + "fontFamily": { + "id": "#tokensConfig/docus/body/fontFamily", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/body/fontFamily/value", + "default": "{font.sans}" + } + }, + "type": "object", + "default": { + "value": "{font.sans}" + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + }, + "color": { + "value": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + }, + "fontFamily": { + "value": "{font.sans}" + } + } + }, + "header": { + "id": "#tokensConfig/docus/header", + "properties": { + "height": { + "id": "#tokensConfig/docus/header/height", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/header/height/value", + "default": "64px" + } + }, + "type": "object", + "default": { + "value": "64px" + } + }, + "logo": { + "id": "#tokensConfig/docus/header/logo", + "properties": { + "height": { + "id": "#tokensConfig/docus/header/logo/height", + "properties": { + "value": { + "id": "#tokensConfig/docus/header/logo/height/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/header/logo/height/value/initial", + "default": "{space.6}" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/header/logo/height/value/sm", + "default": "{space.7}" + } + }, + "type": "object", + "default": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + } + }, + "type": "object", + "default": { + "height": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + } + }, + "title": { + "id": "#tokensConfig/docus/header/title", + "properties": { + "fontSize": { + "id": "#tokensConfig/docus/header/title/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/header/title/fontSize/value", + "default": "{fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.2xl}" + } + }, + "fontWeight": { + "id": "#tokensConfig/docus/header/title/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/header/title/fontWeight/value", + "default": "{fontWeight.bold}" + } + }, + "type": "object", + "default": { + "value": "{fontWeight.bold}" + } + }, + "color": { + "id": "#tokensConfig/docus/header/title/color", + "properties": { + "static": { + "id": "#tokensConfig/docus/header/title/color/static", + "properties": { + "value": { + "id": "#tokensConfig/docus/header/title/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/header/title/color/static/value/initial", + "default": "{color.gray.900}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/header/title/color/static/value/dark", + "default": "{color.gray.100}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + } + }, + "hover": { + "id": "#tokensConfig/docus/header/title/color/hover", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/header/title/color/hover/value", + "default": "{color.primary.500}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.500}" + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + } + }, + "type": "object", + "default": { + "height": { + "value": "64px" + }, + "logo": { + "height": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "title": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + } + }, + "footer": { + "id": "#tokensConfig/docus/footer", + "properties": { + "height": { + "id": "#tokensConfig/docus/footer/height", + "properties": { + "value": { + "id": "#tokensConfig/docus/footer/height/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/footer/height/value/initial", + "default": "145px" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/footer/height/value/sm", + "default": "100px" + } + }, + "type": "object", + "default": { + "initial": "145px", + "sm": "100px" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "145px", + "sm": "100px" + } + } + }, + "padding": { + "id": "#tokensConfig/docus/footer/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/footer/padding/value", + "default": "{space.4} 0" + } + }, + "type": "object", + "default": { + "value": "{space.4} 0" + } + } + }, + "type": "object", + "default": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + } + }, + "readableLine": { + "id": "#tokensConfig/docus/readableLine", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/readableLine/value", + "default": "78ch" + } + }, + "type": "object", + "default": { + "value": "78ch" + } + }, + "loadingBar": { + "id": "#tokensConfig/docus/loadingBar", + "properties": { + "height": { + "id": "#tokensConfig/docus/loadingBar/height", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/height/value", + "default": "3px" + } + }, + "type": "object", + "default": { + "value": "3px" + } + }, + "gradientColorStop1": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop1/value", + "default": "#00dc82" + } + }, + "type": "object", + "default": { + "value": "#00dc82" + } + }, + "gradientColorStop2": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop2/value", + "default": "#34cdfe" + } + }, + "type": "object", + "default": { + "value": "#34cdfe" + } + }, + "gradientColorStop3": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop3/value", + "default": "#0047e1" + } + }, + "type": "object", + "default": { + "value": "#0047e1" + } + } + }, + "type": "object", + "default": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + } + }, + "search": { + "id": "#tokensConfig/docus/search", + "properties": { + "backdropFilter": { + "id": "#tokensConfig/docus/search/backdropFilter", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/backdropFilter/value", + "default": "blur(24px)" + } + }, + "type": "object", + "default": { + "value": "blur(24px)" + } + }, + "input": { + "id": "#tokensConfig/docus/search/input", + "properties": { + "borderRadius": { + "id": "#tokensConfig/docus/search/input/borderRadius", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/borderRadius/value", + "default": "{radii.2xs}" + } + }, + "type": "object", + "default": { + "value": "{radii.2xs}" + } + }, + "borderWidth": { + "id": "#tokensConfig/docus/search/input/borderWidth", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/borderWidth/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "borderStyle": { + "id": "#tokensConfig/docus/search/input/borderStyle", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/borderStyle/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "borderColor": { + "id": "#tokensConfig/docus/search/input/borderColor", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/input/borderColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/input/borderColor/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/search/input/borderColor/value/dark", + "default": "transparent" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + } + }, + "fontSize": { + "id": "#tokensConfig/docus/search/input/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/fontSize/value", + "default": "{fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.sm}" + } + }, + "gap": { + "id": "#tokensConfig/docus/search/input/gap", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/gap/value", + "default": "{space.2}" + } + }, + "type": "object", + "default": { + "value": "{space.2}" + } + }, + "padding": { + "id": "#tokensConfig/docus/search/input/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/input/padding/value", + "default": "{space.2} {space.4}" + } + }, + "type": "object", + "default": { + "value": "{space.2} {space.4}" + } + }, + "backgroundColor": { + "id": "#tokensConfig/docus/search/input/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/input/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/input/backgroundColor/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/search/input/backgroundColor/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "borderRadius": { + "value": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px" + }, + "borderStyle": { + "value": "solid" + }, + "borderColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "{fontSize.sm}" + }, + "gap": { + "value": "{space.2}" + }, + "padding": { + "value": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "results": { + "id": "#tokensConfig/docus/search/results", + "properties": { + "window": { + "id": "#tokensConfig/docus/search/results/window", + "properties": { + "marginX": { + "id": "#tokensConfig/docus/search/results/window/marginX", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/results/window/marginX/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/marginX/value/initial", + "default": "0" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/marginX/value/sm", + "default": "{space.4}" + } + }, + "type": "object", + "default": { + "initial": "0", + "sm": "{space.4}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + } + }, + "borderRadius": { + "id": "#tokensConfig/docus/search/results/window/borderRadius", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/results/window/borderRadius/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/borderRadius/value/initial", + "default": "none" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/borderRadius/value/sm", + "default": "{radii.xs}" + } + }, + "type": "object", + "default": { + "initial": "none", + "sm": "{radii.xs}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + } + }, + "marginTop": { + "id": "#tokensConfig/docus/search/results/window/marginTop", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/results/window/marginTop/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/marginTop/value/initial", + "default": "0" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/marginTop/value/sm", + "default": "20vh" + } + }, + "type": "object", + "default": { + "initial": "0", + "sm": "20vh" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "0", + "sm": "20vh" + } + } + }, + "maxWidth": { + "id": "#tokensConfig/docus/search/results/window/maxWidth", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/maxWidth/value", + "default": "640px" + } + }, + "type": "object", + "default": { + "value": "640px" + } + }, + "maxHeight": { + "id": "#tokensConfig/docus/search/results/window/maxHeight", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/results/window/maxHeight/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/maxHeight/value/initial", + "default": "100%" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/search/results/window/maxHeight/value/sm", + "default": "320px" + } + }, + "type": "object", + "default": { + "initial": "100%", + "sm": "320px" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + } + }, + "type": "object", + "default": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + } + }, + "selected": { + "id": "#tokensConfig/docus/search/results/selected", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/docus/search/results/selected/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/docus/search/results/selected/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/search/results/selected/backgroundColor/value/initial", + "default": "{color.gray.300}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/docus/search/results/selected/backgroundColor/value/dark", + "default": "{color.gray.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + } + }, + "highlight": { + "id": "#tokensConfig/docus/search/results/highlight", + "properties": { + "color": { + "id": "#tokensConfig/docus/search/results/highlight/color", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/results/highlight/color/value", + "default": "white" + } + }, + "type": "object", + "default": { + "value": "white" + } + }, + "backgroundColor": { + "id": "#tokensConfig/docus/search/results/highlight/backgroundColor", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/search/results/highlight/backgroundColor/value", + "default": "{color.primary.500}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.500}" + } + } + }, + "type": "object", + "default": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + }, + "type": "object", + "default": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + } + }, + "type": "object", + "default": { + "backdropFilter": { + "value": "blur(24px)" + }, + "input": { + "borderRadius": { + "value": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px" + }, + "borderStyle": { + "value": "solid" + }, + "borderColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "{fontSize.sm}" + }, + "gap": { + "value": "{space.2}" + }, + "padding": { + "value": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "results": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + } + } + }, + "type": "object", + "default": { + "body": { + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + }, + "color": { + "value": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + }, + "fontFamily": { + "value": "{font.sans}" + } + }, + "header": { + "height": { + "value": "64px" + }, + "logo": { + "height": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "title": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + }, + "search": { + "backdropFilter": { + "value": "blur(24px)" + }, + "input": { + "borderRadius": { + "value": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px" + }, + "borderStyle": { + "value": "solid" + }, + "borderColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "{fontSize.sm}" + }, + "gap": { + "value": "{space.2}" + }, + "padding": { + "value": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "results": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + } + } + } + }, + "type": "object", + "default": { + "media": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFCEE" + }, + "100": { + "value": "#FFF6D3" + }, + "200": { + "value": "#FFF0B1" + }, + "300": { + "value": "#FFE372" + }, + "400": { + "value": "#FFDC4E" + }, + "500": { + "value": "#FBCA05" + }, + "600": { + "value": "#CBA408" + }, + "700": { + "value": "#614E02" + }, + "800": { + "value": "#292100" + }, + "900": { + "value": "#1B1500" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#014267" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#F1FCFF" + }, + "100": { + "value": "#DCF7FF" + }, + "200": { + "value": "#C5F2FF" + }, + "300": { + "value": "#82E3FF" + }, + "400": { + "value": "#55E1FF" + }, + "500": { + "value": "#1AD6FF" + }, + "600": { + "value": "#09A0C1" + }, + "700": { + "value": "#024757" + }, + "800": { + "value": "#00232B" + }, + "900": { + "value": "#001A1F" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + }, + "shadow": { + "value": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + }, + "width": { + "screen": { + "value": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px {color.shadow}" + }, + "sm": { + "value": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + }, + "md": { + "value": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + }, + "lg": { + "value": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + }, + "xl": { + "value": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.shadow}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + }, + "size": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + }, + "space": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "body": { + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + }, + "color": { + "value": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + }, + "fontFamily": { + "value": "{font.sans}" + } + }, + "header": { + "height": { + "value": "64px" + }, + "logo": { + "height": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "title": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + }, + "search": { + "backdropFilter": { + "value": "blur(24px)" + }, + "input": { + "borderRadius": { + "value": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px" + }, + "borderStyle": { + "value": "solid" + }, + "borderColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "{fontSize.sm}" + }, + "gap": { + "value": "{space.2}" + }, + "padding": { + "value": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "results": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + } + } + } + }, + "default": { + "media": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFCEE" + }, + "100": { + "value": "#FFF6D3" + }, + "200": { + "value": "#FFF0B1" + }, + "300": { + "value": "#FFE372" + }, + "400": { + "value": "#FFDC4E" + }, + "500": { + "value": "#FBCA05" + }, + "600": { + "value": "#CBA408" + }, + "700": { + "value": "#614E02" + }, + "800": { + "value": "#292100" + }, + "900": { + "value": "#1B1500" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#014267" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#F1FCFF" + }, + "100": { + "value": "#DCF7FF" + }, + "200": { + "value": "#C5F2FF" + }, + "300": { + "value": "#82E3FF" + }, + "400": { + "value": "#55E1FF" + }, + "500": { + "value": "#1AD6FF" + }, + "600": { + "value": "#09A0C1" + }, + "700": { + "value": "#024757" + }, + "800": { + "value": "#00232B" + }, + "900": { + "value": "#001A1F" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + }, + "shadow": { + "value": { + "initial": "{color.gray.400}", + "dark": "{color.gray.800}" + } + } + }, + "width": { + "screen": { + "value": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px {color.shadow}" + }, + "sm": { + "value": "0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}" + }, + "md": { + "value": "0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}" + }, + "lg": { + "value": "0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}" + }, + "xl": { + "value": "0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.shadow}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + }, + "size": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + }, + "space": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "body": { + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + }, + "color": { + "value": { + "initial": "{color.gray.800}", + "dark": "{color.gray.200}" + } + }, + "fontFamily": { + "value": "{font.sans}" + } + }, + "header": { + "height": { + "value": "64px" + }, + "logo": { + "height": { + "value": { + "initial": "{space.6}", + "sm": "{space.7}" + } + } + }, + "title": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "fontWeight": { + "value": "{fontWeight.bold}" + }, + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.100}" + } + }, + "hover": { + "value": "{color.primary.500}" + } + } + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + }, + "search": { + "backdropFilter": { + "value": "blur(24px)" + }, + "input": { + "borderRadius": { + "value": "{radii.2xs}" + }, + "borderWidth": { + "value": "1px" + }, + "borderStyle": { + "value": "solid" + }, + "borderColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "transparent" + } + }, + "fontSize": { + "value": "{fontSize.sm}" + }, + "gap": { + "value": "{space.2}" + }, + "padding": { + "value": "{space.2} {space.4}" + }, + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "results": { + "window": { + "marginX": { + "value": { + "initial": "0", + "sm": "{space.4}" + } + }, + "borderRadius": { + "value": { + "initial": "none", + "sm": "{radii.xs}" + } + }, + "marginTop": { + "value": { + "initial": "0", + "sm": "20vh" + } + }, + "maxWidth": { + "value": "640px" + }, + "maxHeight": { + "value": { + "initial": "100%", + "sm": "320px" + } + } + }, + "selected": { + "backgroundColor": { + "value": { + "initial": "{color.gray.300}", + "dark": "{color.gray.700}" + } + } + }, + "highlight": { + "color": { + "value": "white" + }, + "backgroundColor": { + "value": "{color.primary.500}" + } + } + } + } + } + } +}; +const schema_server_zIxGbBm233 = /* @__PURE__ */ defineNuxtPlugin(() => { + const event = useRequestEvent(); + if (event.path === "/__pinceau_tokens_config.json") { + event.node.res.setHeader("Content-Type", "application/json"); + event.node.res.statusCode = 200; + event.node.res.end(JSON.stringify(theme, null, 2)); + } + if (event.path === "/__pinceau_tokens_schema.json") { + event.node.res.setHeader("Content-Type", "application/json"); + event.node.res.statusCode = 200; + event.node.res.end(JSON.stringify(schema, null, 2)); + } +}); +const preference = "system"; +const componentName = "ColorScheme"; +const dataValue = "theme"; +const plugin_server_XNCxeHyTuP = /* @__PURE__ */ defineNuxtPlugin((nuxtApp) => { + const colorMode = useState("color-mode", () => reactive({ + preference, + value: preference, + unknown: true, + forced: false + })).value; + const htmlAttrs = {}; + { + useHead({ htmlAttrs }); + } + useRouter().afterEach((to) => { + const forcedColorMode = to.meta.colorMode; + if (forcedColorMode && forcedColorMode !== "system") { + colorMode.value = htmlAttrs["data-color-mode-forced"] = forcedColorMode; + { + htmlAttrs[`data-${dataValue}`] = colorMode.value; + } + colorMode.forced = true; + } else if (forcedColorMode === "system") { + console.warn("You cannot force the colorMode to system at the page level."); + } + }); + nuxtApp.provide("colorMode", colorMode); +}); +const menu_13PGuw7IWk = /* @__PURE__ */ defineNuxtPlugin((ctx) => { + const visible = ref(false); + const open = () => visible.value = true; + const close = () => visible.value = false; + const toggle = () => visible.value = !visible.value; + ctx.$router.afterEach(() => setTimeout(close, 50)); + return { + provide: { + menu: { + visible, + close, + open, + toggle + } + } + }; +}); +const plugins = [ + unhead_KgADcZ0jPj, + plugin$1, + revive_payload_server_eJ33V7gbc6, + components_plugin_KR1HBZs4kY, + documentDriven_6F9UCgkXVS, + pinceau_nuxt_plugin_server_KEuz79zT4K, + schema_server_zIxGbBm233, + plugin_server_XNCxeHyTuP, + menu_13PGuw7IWk +]; +const _sfc_main$i = { + __name: "AppLoadingBar", + __ssrInlineRender: true, + props: { + throttle: { + type: Number, + default: 200 + }, + duration: { + type: Number, + default: 2e3 + } + }, + setup(__props) { + const props = __props; + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const data = reactive({ + percent: 0, + show: false, + canSucceed: true + }); + let _timer = null; + let _throttle = null; + let _cut; + function clear() { + _timer && clearInterval(_timer); + _throttle && clearTimeout(_throttle); + _timer = null; + } + function start() { + if (data.show) { + return; + } + clear(); + data.percent = 0; + data.canSucceed = true; + if (props.throttle) { + _throttle = setTimeout(startTimer, props.throttle); + } else { + startTimer(); + } + } + function increase(num) { + data.percent = Math.min(100, Math.floor(data.percent + num)); + } + function finish() { + data.percent = 100; + hide(); + } + function hide() { + clear(); + setTimeout(() => { + data.show = false; + setTimeout(() => { + data.percent = 0; + }, 400); + }, 500); + } + function startTimer() { + data.show = true; + _cut = 1e4 / Math.floor(props.duration); + _timer = setInterval(() => { + increase(_cut); + }, 100); + } + nuxtApp.hook("content:middleware:start", start); + nuxtApp.hook("page:start", start); + nuxtApp.hook("page:finish", finish); + return (_ctx, _push, _parent, _attrs) => { + _push(``); + }; + } +}; +const _sfc_setup$i = _sfc_main$i.setup; +_sfc_main$i.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue"); + return _sfc_setup$i ? _sfc_setup$i(props, ctx) : void 0; +}; +const AppLoadingBar = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: _sfc_main$i +}); +const _sfc_main$h = /* @__PURE__ */ defineComponent({ + __name: "Container", + __ssrInlineRender: true, + props: { + as: { + type: String, + required: false, + default: "div" + }, + ...{ "padded": { "required": false, "type": [Boolean, Object], "default": true }, "fluid": { "required": false, "type": [Boolean, Object], "default": false } } + }, + setup(__props) { + const __$pProps = __props; + const __$pVariants = { "padded": { "true": { "px": "{elements.container.padding.mobile}", "@xs": { "px": "{elements.container.padding.xs}" }, "@sm": { "px": "{elements.container.padding.sm}" }, "@md": { "px": "{elements.container.padding.md}" } } }, "fluid": { "true": {}, "false": { "maxWidth": "{elements.container.maxWidth}" } } }; + const { $pinceau } = usePinceauRuntime(__$pProps, __$pVariants, void 0); + return (_ctx, _push, _parent, _attrs) => { + ssrRenderVNode(_push, createVNode(resolveDynamicComponent(__props.as), mergeProps({ + class: ["container", [unref($pinceau)]] + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); + } else { + return [ + renderSlot(_ctx.$slots, "default", {}, void 0, true) + ]; + } + }), + _: 3 + }), _parent); + }; + } +}); +const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +const _sfc_setup$h = _sfc_main$h.setup; +_sfc_main$h.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/elements/components/globals/Container.vue"); + return _sfc_setup$h ? _sfc_setup$h(props, ctx) : void 0; +}; +const __nuxt_component_0$5 = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-a8d7e2a7"]]); +const Container = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_0$5 +}); +const _sfc_main$g = /* @__PURE__ */ defineComponent({ + __name: "Icon", + __ssrInlineRender: true, + props: { + name: { + type: String, + required: true + }, + size: { + type: String, + default: "" + } + }, + async setup(__props) { + var _a2; + let __temp, __restore; + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const appConfig2 = useAppConfig(); + ((_a2 = appConfig2 == null ? void 0 : appConfig2.nuxtIcon) == null ? void 0 : _a2.aliases) || {}; + const props = __props; + const state = useState("icons", () => ({})); + const isFetching = ref(false); + const iconName = computed(() => { + var _a3; + return (((_a3 = appConfig2.nuxtIcon) == null ? void 0 : _a3.aliases) || {})[props.name] || props.name; + }); + const icon = computed(() => { + var _a3; + return (_a3 = state.value) == null ? void 0 : _a3[iconName.value]; + }); + const component = computed(() => nuxtApp.vueApp.component(iconName.value)); + const sSize = computed(() => { + var _a3, _b, _c; + if (!props.size && typeof ((_a3 = appConfig2.nuxtIcon) == null ? void 0 : _a3.size) === "boolean" && !((_b = appConfig2.nuxtIcon) == null ? void 0 : _b.size)) { + return void 0; + } + const size = props.size || ((_c = appConfig2.nuxtIcon) == null ? void 0 : _c.size) || "1em"; + if (String(Number(size)) === size) { + return `${size}px`; + } + return size; + }); + const className = computed(() => { + var _a3; + return ((_a3 = appConfig2 == null ? void 0 : appConfig2.nuxtIcon) == null ? void 0 : _a3.class) ?? "icon"; + }); + async function loadIconComponent() { + var _a3; + if (component.value) { + return; + } + if (!((_a3 = state.value) == null ? void 0 : _a3[iconName.value])) { + isFetching.value = true; + state.value[iconName.value] = await loadIcon(iconName.value).catch(() => void 0); + isFetching.value = false; + } + } + watch(() => iconName.value, loadIconComponent); + !component.value && ([__temp, __restore] = withAsyncContext(() => loadIconComponent()), __temp = await __temp, __restore(), __temp); + return (_ctx, _push, _parent, _attrs) => { + if (unref(isFetching)) { + _push(``); + } else if (unref(icon)) { + _push(ssrRenderComponent(unref(Icon$1), mergeProps({ + icon: unref(icon), + class: unref(className), + width: unref(sSize), + height: unref(sSize) + }, _attrs), null, _parent)); + } else if (unref(component)) { + ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(component)), mergeProps({ + class: unref(className), + width: unref(sSize), + height: unref(sSize) + }, _attrs), null), _parent); + } else { + _push(`${ssrInterpolate(__props.name)}`); + } + }; + } +}); +const _sfc_setup$g = _sfc_main$g.setup; +_sfc_main$g.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt-icon/dist/runtime/Icon.vue"); + return _sfc_setup$g ? _sfc_setup$g(props, ctx) : void 0; +}; +const __nuxt_component_0$4 = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-e610b8e3"]]); +const Icon = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_0$4 +}); +const useDocus = () => { + const docus = computed(() => { + var _a2; + return ((_a2 = useAppConfig()) == null ? void 0 : _a2.docus) || {}; + }); + const { navPageFromPath: navPageFromPath2, navDirFromPath: navDirFromPath2, navKeyFromPath: navKeyFromPath2 } = useContentHelpers(); + const { navigation, page } = useContent(); + const route = useRoute(); + const config = computed( + () => { + var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k; + const titleTemplate = ((_a2 = docus == null ? void 0 : docus.value) == null ? void 0 : _a2.titleTemplate) || navKeyFromPath2((_b = page == null ? void 0 : page.value) == null ? void 0 : _b._path, "titleTemplate", navigation.value || []) || `%s · ${((_c = docus == null ? void 0 : docus.value) == null ? void 0 : _c.title) || "Docus"}`; + const main2 = ((_d = docus == null ? void 0 : docus.value) == null ? void 0 : _d.main) || {}; + const header = ((_e = docus == null ? void 0 : docus.value) == null ? void 0 : _e.header) || {}; + const aside = ((_f = docus == null ? void 0 : docus.value) == null ? void 0 : _f.aside) || {}; + const footer = ((_g = docus == null ? void 0 : docus.value) == null ? void 0 : _g.footer) || {}; + return { + // Raw appConfig + ...docus.value, + // Merged attributes + titleTemplate, + main: { + ...main2, + ...navKeyFromPath2(route.path, "main", navigation.value || []), + ...(_h = page.value) == null ? void 0 : _h.main + }, + header: { + ...header, + ...navKeyFromPath2(route.path, "header", navigation.value || []), + ...(_i = page.value) == null ? void 0 : _i.header + }, + aside: { + ...aside, + ...navKeyFromPath2(route.path, "aside", navigation.value || []), + ...(_j = page.value) == null ? void 0 : _j.aside + }, + footer: { + ...footer, + ...navKeyFromPath2(route.path, "footer", navigation.value || []), + ...(_k = page.value) == null ? void 0 : _k.footer + } + }; + } + ); + const tree = computed(() => { + var _a2, _b, _c, _d, _e; + let nav = navigation.value || []; + const _path = route.path; + const level = ((_b = (_a2 = config == null ? void 0 : config.value) == null ? void 0 : _a2.aside) == null ? void 0 : _b.level) || 0; + const filtered = ((_d = (_c = config == null ? void 0 : config.value) == null ? void 0 : _c.aside) == null ? void 0 : _d.exclude) || []; + if (level) { + const path = _path.split("/"); + const leveledPath = path.splice(0, 1 + level).join("/"); + nav = navDirFromPath2(leveledPath, nav) || []; + if (!Array.isArray(nav)) { + nav = [nav]; + } + } + if (nav.length === 0) { + nav = navPageFromPath2(((_e = page.value) == null ? void 0 : _e._path) || "/", navigation.value || []); + if (!nav) { + return []; + } + if (!Array.isArray(nav)) { + nav = [nav]; + } + } + return nav.filter((item) => { + if (filtered.includes(item._path)) { + return false; + } + return true; + }); + }); + return { tree, config }; +}; +const _sfc_main$f = /* @__PURE__ */ defineComponent({ + __name: "AppSocialIcons", + __ssrInlineRender: true, + setup(__props) { + const socials = ["twitter", "facebook", "instagram", "tiktok", "youtube", "github", "medium"]; + const { config } = useDocus(); + const icons = computed(() => { + return Object.entries(config.value.socials || {}).map(([key, value]) => { + if (typeof value === "object") { + return value; + } else if (typeof value === "string" && value && socials.includes(key)) { + return { + href: /^https?:\/\//.test(value) ? value : `https://${key}.com/${value}`, + icon: `fa-brands:${key}`, + label: value, + rel: "noopener noreferrer" + }; + } else { + return null; + } + }).filter(Boolean); + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + _push(``); + ssrRenderList(unref(icons), (icon) => { + _push(ssrRenderComponent(_component_NuxtLink, { + key: icon.label, + rel: icon.rel, + title: icon.label, + "aria-label": icon.label, + href: icon.href, + target: "_blank" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (icon.icon) { + _push2(ssrRenderComponent(_component_Icon, { + name: icon.icon + }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + } else { + return [ + icon.icon ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: icon.icon + }, null, 8, ["name"])) : createCommentVNode("", true) + ]; + } + }), + _: 2 + }, _parent)); + }); + _push(``); + }; + } +}); +const _sfc_setup$f = _sfc_main$f.setup; +_sfc_main$f.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue"); + return _sfc_setup$f ? _sfc_setup$f(props, ctx) : void 0; +}; +const __nuxt_component_3$1 = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-22569e45"]]); +const AppSocialIcons = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_3$1 +}); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "DocsAsideTree", + __ssrInlineRender: true, + props: { + links: { + type: Array, + default: () => [] + }, + level: { + type: Number, + default: 0 + }, + max: { + type: Number, + default: null + }, + parent: { + type: Object, + default: null + } + }, + setup(__props) { + var _a2; + const props = __props; + const route = useRoute(); + const { config } = useDocus(); + const collapsedMap = useState(`docus-docs-aside-collapse-map-${((_a2 = props.parent) == null ? void 0 : _a2._path) || "/"}`, () => { + if (props.level === 0) { + return {}; + } + return props.links.filter((link) => !!link.children).reduce((map, link) => { + map[link._path] = true; + return map; + }, {}); + }); + const isActive = (link) => { + return route.path === link._path; + }; + const isCollapsed = (link) => { + var _a3, _b, _c, _d; + if (link.children) { + if (typeof collapsedMap.value[link._path] !== "undefined") { + return collapsedMap.value[link._path]; + } + if ([true, false].includes((_a3 = link == null ? void 0 : link.aside) == null ? void 0 : _a3.collapsed)) { + return link.aside.collapsed; + } + if (link == null ? void 0 : link.collapsed) { + return link == null ? void 0 : link.collapsed; + } + if ((_c = (_b = config == null ? void 0 : config.value) == null ? void 0 : _b.aside) == null ? void 0 : _c.collapsed) { + return (_d = config.value.aside) == null ? void 0 : _d.collapsed; + } + } + return false; + }; + const hasNesting = computed(() => props.links.some((link) => link.children)); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + const _component_NuxtLink = __nuxt_component_0$6; + const _component_DocsAsideTree = __nuxt_component_0$3; + _push(``); + ssrRenderList(__props.links, (link) => { + var _a3, _b, _c, _d, _e; + _push(`
  • 0 && link.children, + "bordered": __props.level > 0 || !unref(hasNesting), + "active": isActive(link) + })}" data-v-d42239fd>`); + if (link.children) { + _push(``); + } else { + _push(ssrRenderComponent(_component_NuxtLink, { + to: link.redirect ? link.redirect : link._path, + class: ["link", { + "padded": __props.level > 0 || !unref(hasNesting), + "active": isActive(link) + }], + exact: link.exact + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + var _a4, _b2, _c2, _d2, _e2, _f; + if (_push2) { + _push2(``); + if (((_a4 = link == null ? void 0 : link.navigation) == null ? void 0 : _a4.icon) || link.icon) { + _push2(ssrRenderComponent(_component_Icon, { + name: ((_b2 = link == null ? void 0 : link.navigation) == null ? void 0 : _b2.icon) || link.icon, + class: "icon" + }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + _push2(`${ssrInterpolate(((_c2 = link == null ? void 0 : link.navigation) == null ? void 0 : _c2.title) || link.title || link._path)}`); + } else { + return [ + createVNode("span", { class: "content" }, [ + ((_d2 = link == null ? void 0 : link.navigation) == null ? void 0 : _d2.icon) || link.icon ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: ((_e2 = link == null ? void 0 : link.navigation) == null ? void 0 : _e2.icon) || link.icon, + class: "icon" + }, null, 8, ["name"])) : createCommentVNode("", true), + createVNode("span", null, toDisplayString(((_f = link == null ? void 0 : link.navigation) == null ? void 0 : _f.title) || link.title || link._path), 1) + ]) + ]; + } + }), + _: 2 + }, _parent)); + } + if (((_e = link.children) == null ? void 0 : _e.length) && (__props.max === null || __props.level + 1 < __props.max)) { + _push(ssrRenderComponent(_component_DocsAsideTree, { + style: !isCollapsed(link) ? null : { display: "none" }, + links: link.children, + level: __props.level + 1, + parent: link, + max: __props.max, + class: "recursive" + }, null, _parent)); + } else { + _push(``); + } + _push(`
  • `); + }); + _push(``); + }; + } +}); +const _sfc_setup$e = _sfc_main$e.setup; +_sfc_main$e.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue"); + return _sfc_setup$e ? _sfc_setup$e(props, ctx) : void 0; +}; +const __nuxt_component_0$3 = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d42239fd"]]); +const DocsAsideTree = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_0$3 +}); +const useMenu = () => { + const { $menu } = /* @__PURE__ */ useNuxtApp(); + return $menu; +}; +const _sfc_main$d = /* @__PURE__ */ defineComponent({ + __name: "AppHeaderDialog", + __ssrInlineRender: true, + setup(__props) { + const { navigation } = useContent(); + const { config } = useDocus(); + const show = ref(false); + const filtered = computed(() => { + var _a2; + return ((_a2 = config.value.aside) == null ? void 0 : _a2.exclude) || []; + }); + const links = computed(() => { + return (navigation.value || []).filter((item) => { + if (filtered.value.includes(item._path)) { + return false; + } + return true; + }); + }); + const { close, open } = useMenu(); + watch(show, (v) => v ? open() : close()); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + const _component_AppSocialIcons = __nuxt_component_3$1; + const _component_DocsAsideTree = __nuxt_component_0$3; + _push(``); + ssrRenderTeleport(_push, (_push2) => { + if (unref(show)) { + _push2(``); + } else { + _push2(``); + } + }, "body", false, _parent); + _push(``); + }; + } +}); +const _sfc_setup$d = _sfc_main$d.setup; +_sfc_main$d.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue"); + return _sfc_setup$d ? _sfc_setup$d(props, ctx) : void 0; +}; +const __nuxt_component_1$3 = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-8fd30205"]]); +const AppHeaderDialog = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_1$3 +}); +const _sfc_main$c = {}; +function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs) { + _push(``); +} +const _sfc_setup$c = _sfc_main$c.setup; +_sfc_main$c.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/Logo.vue"); + return _sfc_setup$c ? _sfc_setup$c(props, ctx) : void 0; +}; +const __nuxt_component_1$2 = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["ssrRender", _sfc_ssrRender$2], ["__scopeId", "data-v-fca4477e"]]); +const Logo = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_1$2 +}); +const _sfc_main$b = /* @__PURE__ */ defineComponent({ + __name: "AppHeaderLogo", + __ssrInlineRender: true, + setup(__props) { + const { config } = useDocus(); + const logo = computed(() => { + var _a2; + return ((_a2 = config.value.header) == null ? void 0 : _a2.logo) || false; + }); + const title = computed(() => { + var _a2; + return ((_a2 = config.value.header) == null ? void 0 : _a2.title) || config.value.title; + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Logo = __nuxt_component_1$2; + _push(ssrRenderComponent(_component_NuxtLink, mergeProps({ + class: "navbar-logo", + to: "/", + "aria-label": unref(title) + }, _attrs), { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (unref(logo)) { + _push2(``); + } else { + _push2(`${ssrInterpolate(unref(title))}`); + } + } else { + return [ + unref(logo) ? (openBlock(), createBlock("span", { + key: 0, + class: "logo" + }, [ + typeof unref(logo) === "string" ? (openBlock(), createBlock(resolveDynamicComponent(unref(logo)), { key: 0 })) : unref(logo).light && unref(logo).dark ? (openBlock(), createBlock(Fragment, { key: 1 }, [ + createVNode("img", { + src: unref(logo).light, + alt: "", + class: "light-img" + }, null, 8, ["src"]), + createVNode("img", { + src: unref(logo).dark, + alt: "", + class: "dark-img" + }, null, 8, ["src"]) + ], 64)) : unref(logo) ? (openBlock(), createBlock(_component_Logo, { key: 2 })) : createCommentVNode("", true) + ])) : (openBlock(), createBlock("span", { + key: 1, + class: "title" + }, toDisplayString(unref(title)), 1)) + ]; + } + }), + _: 1 + }, _parent)); + }; + } +}); +const _sfc_setup$b = _sfc_main$b.setup; +_sfc_main$b.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue"); + return _sfc_setup$b ? _sfc_setup$b(props, ctx) : void 0; +}; +const __nuxt_component_2$1 = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-58a8631e"]]); +const AppHeaderLogo = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_2$1 +}); +const _sfc_main$a = /* @__PURE__ */ defineComponent({ + __name: "AppHeaderNavigation", + __ssrInlineRender: true, + setup(__props) { + const route = useRoute(); + const { navBottomLink: navBottomLink2 } = useContentHelpers(); + const { navigation } = useContent(); + const { config } = useDocus(); + const hasNavigation = computed(() => { + var _a2; + return !!((_a2 = config.value.aside) == null ? void 0 : _a2.level); + }); + const filtered = computed(() => { + var _a2; + return ((_a2 = config.value.header) == null ? void 0 : _a2.exclude) || []; + }); + const tree = computed(() => { + return (navigation.value || []).filter((item) => { + if (filtered.value.includes(item._path)) { + return false; + } + return true; + }); + }); + const isActive = (link) => link.exact ? route.fullPath === link._path : route.fullPath.startsWith(link._path); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLink = __nuxt_component_0$6; + const _component_Icon = __nuxt_component_0$4; + if (unref(hasNavigation)) { + _push(`
      `); + ssrRenderList(unref(tree), (link) => { + _push(`
    • `); + _push(ssrRenderComponent(_component_NuxtLink, { + class: ["link", { active: isActive(link) }], + to: link.redirect ? link.redirect : unref(navBottomLink2)(link) + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + var _a2, _b, _c, _d; + if (_push2) { + if (link.icon && ((_b = (_a2 = unref(config)) == null ? void 0 : _a2.header) == null ? void 0 : _b.showLinkIcon)) { + _push2(ssrRenderComponent(_component_Icon, { + name: link.icon + }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + _push2(` ${ssrInterpolate(link.title)}`); + } else { + return [ + link.icon && ((_d = (_c = unref(config)) == null ? void 0 : _c.header) == null ? void 0 : _d.showLinkIcon) ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: link.icon + }, null, 8, ["name"])) : createCommentVNode("", true), + createTextVNode(" " + toDisplayString(link.title), 1) + ]; + } + }), + _: 2 + }, _parent)); + _push(`
    • `); + }); + _push(`
    `); + } else { + _push(``); + } + }; + } +}); +const _sfc_setup$a = _sfc_main$a.setup; +_sfc_main$a.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue"); + return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0; +}; +const __nuxt_component_3 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-4fab471c"]]); +const AppHeaderNavigation = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_3 +}); +const useDocSearch = () => { + const { $docSearch } = /* @__PURE__ */ useNuxtApp(); + if (!$docSearch) { + return { + hasDocSearch: ref(false) + }; + } + return $docSearch; +}; +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + __name: "AppDocSearch", + __ssrInlineRender: true, + setup(__props) { + useDocSearch(); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_Icon, { name: "heroicons-outline:search" }, null, _parent)); + _push(`SearchK`); + }; + } +}); +const _sfc_setup$9 = _sfc_main$9.setup; +_sfc_main$9.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue"); + return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0; +}; +const __nuxt_component_4 = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-67a6a092"]]); +const AppDocSearch = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_4 +}); +const isDef = (val) => typeof val !== "undefined"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const noop = () => { +}; +function resolveUnref(r) { + return typeof r === "function" ? r() : unref(r); +} +function identity(arg) { + return arg; +} +function tryOnScopeDispose(fn) { + if (getCurrentScope()) { + onScopeDispose(fn); + return true; + } + return false; +} +function tryOnMounted(fn, sync = true) { + if (getCurrentInstance()) + ; + else if (sync) + fn(); + else + nextTick(fn); +} +function useTimeoutFn(cb, interval, options = {}) { + const { + immediate = true + } = options; + const isPending = ref(false); + let timer = null; + function clear() { + if (timer) { + clearTimeout(timer); + timer = null; + } + } + function stop() { + isPending.value = false; + clear(); + } + function start(...args) { + clear(); + isPending.value = true; + timer = setTimeout(() => { + isPending.value = false; + timer = null; + cb(...args); + }, resolveUnref(interval)); + } + if (immediate) { + isPending.value = true; + } + tryOnScopeDispose(stop); + return { + isPending: readonly(isPending), + start, + stop + }; +} +function unrefElement(elRef) { + var _a2; + const plain = resolveUnref(elRef); + return (_a2 = plain == null ? void 0 : plain.$el) != null ? _a2 : plain; +} +const defaultWindow = void 0; +const defaultNavigator = void 0; +function useEventListener(...args) { + let target; + let events; + let listeners; + let options; + if (isString(args[0]) || Array.isArray(args[0])) { + [events, listeners, options] = args; + target = defaultWindow; + } else { + [target, events, listeners, options] = args; + } + if (!target) + return noop; + if (!Array.isArray(events)) + events = [events]; + if (!Array.isArray(listeners)) + listeners = [listeners]; + const cleanups = []; + const cleanup = () => { + cleanups.forEach((fn) => fn()); + cleanups.length = 0; + }; + const register = (el, event, listener, options2) => { + el.addEventListener(event, listener, options2); + return () => el.removeEventListener(event, listener, options2); + }; + const stopWatch = watch(() => [unrefElement(target), resolveUnref(options)], ([el, options2]) => { + cleanup(); + if (!el) + return; + cleanups.push(...events.flatMap((event) => { + return listeners.map((listener) => register(el, event, listener, options2)); + })); + }, { immediate: true, flush: "post" }); + const stop = () => { + stopWatch(); + cleanup(); + }; + tryOnScopeDispose(stop); + return stop; +} +function onClickOutside(target, handler, options = {}) { + const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options; + if (!window2) + return; + let shouldListen = true; + const shouldIgnore = (event) => { + return ignore.some((target2) => { + if (typeof target2 === "string") { + return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el)); + } else { + const el = unrefElement(target2); + return el && (event.target === el || event.composedPath().includes(el)); + } + }); + }; + const listener = (event) => { + const el = unrefElement(target); + if (!el || el === event.target || event.composedPath().includes(el)) + return; + if (event.detail === 0) + shouldListen = !shouldIgnore(event); + if (!shouldListen) { + shouldListen = true; + return; + } + handler(event); + }; + const cleanup = [ + useEventListener(window2, "click", listener, { passive: true, capture }), + useEventListener(window2, "pointerdown", (e) => { + const el = unrefElement(target); + if (el) + shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e); + }, { passive: true }), + detectIframe && useEventListener(window2, "blur", (event) => { + var _a2; + const el = unrefElement(target); + if (((_a2 = window2.document.activeElement) == null ? void 0 : _a2.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) + handler(event); + }) + ].filter(Boolean); + const stop = () => cleanup.forEach((fn) => fn()); + return stop; +} +function useSupported(callback, sync = false) { + const isSupported = ref(); + const update = () => isSupported.value = Boolean(callback()); + update(); + tryOnMounted(update, sync); + return isSupported; +} +function useClipboard(options = {}) { + const { + navigator = defaultNavigator, + read = false, + source, + copiedDuring = 1500, + legacy = false + } = options; + const events = ["copy", "cut"]; + const isClipboardApiSupported = useSupported(() => navigator && "clipboard" in navigator); + const isSupported = computed(() => isClipboardApiSupported.value || legacy); + const text2 = ref(""); + const copied = ref(false); + const timeout = useTimeoutFn(() => copied.value = false, copiedDuring); + function updateText() { + if (isClipboardApiSupported.value) { + navigator.clipboard.readText().then((value) => { + text2.value = value; + }); + } else { + text2.value = legacyRead(); + } + } + if (isSupported.value && read) { + for (const event of events) + useEventListener(event, updateText); + } + async function copy(value = resolveUnref(source)) { + if (isSupported.value && value != null) { + if (isClipboardApiSupported.value) + await navigator.clipboard.writeText(value); + else + legacyCopy(value); + text2.value = value; + copied.value = true; + timeout.start(); + } + } + function legacyCopy(value) { + const ta = document.createElement("textarea"); + ta.value = value != null ? value : ""; + ta.style.position = "absolute"; + ta.style.opacity = "0"; + document.body.appendChild(ta); + ta.select(); + document.execCommand("copy"); + ta.remove(); + } + function legacyRead() { + var _a2, _b, _c; + return (_c = (_b = (_a2 = document == null ? void 0 : document.getSelection) == null ? void 0 : _a2.call(document)) == null ? void 0 : _b.toString()) != null ? _c : ""; + } + return { + isSupported, + text: text2, + copied, + copy + }; +} +function cloneFnJSON(source) { + return JSON.parse(JSON.stringify(source)); +} +const _global = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +const globalKey = "__vueuse_ssr_handlers__"; +_global[globalKey] = _global[globalKey] || {}; +const DefaultMagicKeysAliasMap = { + ctrl: "control", + command: "meta", + cmd: "meta", + option: "alt", + up: "arrowup", + down: "arrowdown", + left: "arrowleft", + right: "arrowright" +}; +function useMagicKeys(options = {}) { + const { + reactive: useReactive = false, + target = defaultWindow, + aliasMap = DefaultMagicKeysAliasMap, + passive = true, + onEventFired = noop + } = options; + const current = reactive(/* @__PURE__ */ new Set()); + const obj = { + toJSON() { + return {}; + }, + current + }; + const refs = useReactive ? reactive(obj) : obj; + const metaDeps = /* @__PURE__ */ new Set(); + const usedKeys = /* @__PURE__ */ new Set(); + function setRefs(key, value) { + if (key in refs) { + if (useReactive) + refs[key] = value; + else + refs[key].value = value; + } + } + function reset() { + current.clear(); + for (const key of usedKeys) + setRefs(key, false); + } + function updateRefs(e, value) { + var _a2, _b; + const key = (_a2 = e.key) == null ? void 0 : _a2.toLowerCase(); + const code = (_b = e.code) == null ? void 0 : _b.toLowerCase(); + const values = [code, key].filter(Boolean); + if (key) { + if (value) + current.add(key); + else + current.delete(key); + } + for (const key2 of values) { + usedKeys.add(key2); + setRefs(key2, value); + } + if (key === "meta" && !value) { + metaDeps.forEach((key2) => { + current.delete(key2); + setRefs(key2, false); + }); + metaDeps.clear(); + } else if (typeof e.getModifierState === "function" && e.getModifierState("Meta") && value) { + [...current, ...values].forEach((key2) => metaDeps.add(key2)); + } + } + useEventListener(target, "keydown", (e) => { + updateRefs(e, true); + return onEventFired(e); + }, { passive }); + useEventListener(target, "keyup", (e) => { + updateRefs(e, false); + return onEventFired(e); + }, { passive }); + useEventListener("blur", reset, { passive: true }); + useEventListener("focus", reset, { passive: true }); + const proxy = new Proxy(refs, { + get(target2, prop, rec) { + if (typeof prop !== "string") + return Reflect.get(target2, prop, rec); + prop = prop.toLowerCase(); + if (prop in aliasMap) + prop = aliasMap[prop]; + if (!(prop in refs)) { + if (/[+_-]/.test(prop)) { + const keys = prop.split(/[+_-]/g).map((i) => i.trim()); + refs[prop] = computed(() => keys.every((key) => unref(proxy[key]))); + } else { + refs[prop] = ref(false); + } + } + const r = Reflect.get(target2, prop, rec); + return useReactive ? unref(r) : r; + } + }); + return proxy; +} +var SwipeDirection; +(function(SwipeDirection2) { + SwipeDirection2["UP"] = "UP"; + SwipeDirection2["RIGHT"] = "RIGHT"; + SwipeDirection2["DOWN"] = "DOWN"; + SwipeDirection2["LEFT"] = "LEFT"; + SwipeDirection2["NONE"] = "NONE"; +})(SwipeDirection || (SwipeDirection = {})); +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const _TransitionPresets = { + easeInSine: [0.12, 0, 0.39, 0], + easeOutSine: [0.61, 1, 0.88, 1], + easeInOutSine: [0.37, 0, 0.63, 1], + easeInQuad: [0.11, 0, 0.5, 0], + easeOutQuad: [0.5, 1, 0.89, 1], + easeInOutQuad: [0.45, 0, 0.55, 1], + easeInCubic: [0.32, 0, 0.67, 0], + easeOutCubic: [0.33, 1, 0.68, 1], + easeInOutCubic: [0.65, 0, 0.35, 1], + easeInQuart: [0.5, 0, 0.75, 0], + easeOutQuart: [0.25, 1, 0.5, 1], + easeInOutQuart: [0.76, 0, 0.24, 1], + easeInQuint: [0.64, 0, 0.78, 0], + easeOutQuint: [0.22, 1, 0.36, 1], + easeInOutQuint: [0.83, 0, 0.17, 1], + easeInExpo: [0.7, 0, 0.84, 0], + easeOutExpo: [0.16, 1, 0.3, 1], + easeInOutExpo: [0.87, 0, 0.13, 1], + easeInCirc: [0.55, 0, 1, 0.45], + easeOutCirc: [0, 0.55, 0.45, 1], + easeInOutCirc: [0.85, 0, 0.15, 1], + easeInBack: [0.36, 0, 0.66, -0.56], + easeOutBack: [0.34, 1.56, 0.64, 1], + easeInOutBack: [0.68, -0.6, 0.32, 1.6] +}; +__spreadValues({ + linear: identity +}, _TransitionPresets); +function useVModel(props, key, emit, options = {}) { + var _a2, _b, _c; + const { + clone = false, + passive = false, + eventName, + deep = false, + defaultValue + } = options; + const vm = getCurrentInstance(); + const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a2 = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a2.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy)); + let event = eventName; + if (!key) { + { + key = "modelValue"; + } + } + event = eventName || event || `update:${key.toString()}`; + const cloneFn = (val) => !clone ? val : isFunction(clone) ? clone(val) : cloneFnJSON(val); + const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue; + if (passive) { + const initialValue = getValue(); + const proxy = ref(initialValue); + watch(() => props[key], (v) => proxy.value = cloneFn(v)); + watch(proxy, (v) => { + if (v !== props[key] || deep) + _emit(event, v); + }, { deep }); + return proxy; + } else { + return computed({ + get() { + return getValue(); + }, + set(value) { + _emit(event, value); + } + }); + } +} +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ + __name: "AppSearch", + __ssrInlineRender: true, + props: { + fuse: { + type: Object, + default: () => ({ + fuseOptions: { + keys: [ + "title", + "description", + "keywords", + "body" + ], + ignoreLocation: true, + threshold: 0, + includeMatches: true, + includeScore: true + }, + matchAllWhenSearchEmpty: true + }) + } + }, + async setup(__props) { + let __temp, __restore; + const props = __props; + const q = ref(""); + const searchContentRef = ref(); + ref(); + ref(); + const selected = ref(-1); + const show = ref(false); + const { close, open } = useMenu(); + const { activate, deactivate } = useFocusTrap(searchContentRef); + const { navigation } = useContent(); + const { meta_K, Escape } = useMagicKeys(); + const { data: files } = ([__temp, __restore] = withAsyncContext(() => useLazyAsyncData( + "search-api", + () => $fetch("/api/search", { parseResponse: JSON.parse }) + )), __temp = await __temp, __restore(), __temp); + const { results } = useFuse( + q, + files, + props.fuse + ); + function findNavItem(children, path, parent) { + for (const child of children) { + if (child._path === path) { + return { + directoryTitle: parent.title, + directoryIcon: parent.icon + }; + } + if (child.children) { + const result = findNavItem(child.children, path, child); + if (result) { + return result; + } + } + } + return void 0; + } + function getNavItemMeta(path) { + let result; + for (const item of navigation.value) { + if (item.children) { + const found = findNavItem(item.children, path, item); + if (found) { + result = found; + } + } + } + return result; + } + function highlight(text2, result) { + const { indices, value } = result || { indices: [], value: "" }; + if (text2 === value) + return ""; + let content = ""; + let nextUnhighlightedIndiceStartingIndex = 0; + indices.forEach((indice) => { + const lastIndiceNextIndex = indice[1] + 1; + const isMatched = lastIndiceNextIndex - indice[0] >= q.value.length; + content += [ + value.substring(nextUnhighlightedIndiceStartingIndex, indice[0]), + isMatched && "", + value.substring(indice[0], lastIndiceNextIndex), + isMatched && "" + ].filter(Boolean).join(""); + nextUnhighlightedIndiceStartingIndex = lastIndiceNextIndex; + }); + content += value.substring(nextUnhighlightedIndiceStartingIndex); + const index = content.indexOf(""); + if (index > 60) { + content = `${content.substring(index - 60)}`; + } + return `${content}”`; + } + watch(selected, (value) => { + var _a2, _b, _c, _d; + const nextId = (_c = (_b = (_a2 = results == null ? void 0 : results.value) == null ? void 0 : _a2[value]) == null ? void 0 : _b.item) == null ? void 0 : _c.id; + if (nextId) + (_d = document.querySelector(`[id="${nextId}"]`)) == null ? void 0 : _d.scrollIntoView({ block: "nearest" }); + }); + watch( + q, + (_) => { + selected.value = 0; + } + ); + watch(show, (value) => { + if (!value) { + q.value = ""; + selected.value = -1; + deactivate(); + close(); + } else { + open(); + nextTick(() => { + activate(); + }); + } + }); + watch(meta_K, (v) => { + if (v) { + show.value = !show.value; + } + }); + watch(Escape, () => { + if (show.value) + show.value = false; + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_Icon = __nuxt_component_0$4; + _push(``); + ssrRenderTeleport(_push, (_push2) => { + if (unref(show)) { + _push2(`
    `); + _push2(ssrRenderComponent(_component_Icon, { + name: "heroicons-outline:search", + class: "search-icon" + }, null, _parent)); + _push2(`
    `); + if (unref(results).length > 0) { + _push2(`
    `); + ssrRenderList(unref(results), (result, i) => { + var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j; + _push2(`
    `); + if ((_b = getNavItemMeta((_a2 = result == null ? void 0 : result.item) == null ? void 0 : _a2.path)) == null ? void 0 : _b.directoryIcon) { + _push2(ssrRenderComponent(_component_Icon, { + name: (_d = getNavItemMeta((_c = result == null ? void 0 : result.item) == null ? void 0 : _c.path)) == null ? void 0 : _d.directoryIcon + }, null, _parent)); + } else { + _push2(ssrRenderComponent(_component_Icon, { name: "solar:documents-bold-duotone" }, null, _parent)); + } + if ((_f = getNavItemMeta((_e = result == null ? void 0 : result.item) == null ? void 0 : _e.path)) == null ? void 0 : _f.directoryTitle) { + _push2(`${ssrInterpolate((_h = getNavItemMeta((_g = result == null ? void 0 : result.item) == null ? void 0 : _g.path)) == null ? void 0 : _h.directoryTitle)} ${`→`}`); + } else { + _push2(``); + } + _push2(`${ssrInterpolate(result.item.title)}
    `); + if ((_i = result == null ? void 0 : result.matches) == null ? void 0 : _i[0]) { + _push2(`

    ${`${highlight(unref(q), (_j = result == null ? void 0 : result.matches) == null ? void 0 : _j[0])}`}

    `); + } else { + _push2(``); + } + _push2(`
    `); + }); + _push2(`
    `); + } else if (!unref(q)) { + _push2(`
    Type your query to search docs
    `); + } else { + _push2(`
    No results found. Try another query
    `); + } + _push2(`
    `); + } else { + _push2(``); + } + }, "body", false, _parent); + _push(``); + }; + } +}); +const _sfc_setup$8 = _sfc_main$8.setup; +_sfc_main$8.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppSearch.vue"); + return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0; +}; +const __nuxt_component_5 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-98e4ee4b"]]); +const AppSearch = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_5 +}); +const _wrapIf = (component, props, slots) => { + props = props === true ? {} : props; + return { default: () => { + var _a2; + return props ? h(component, props, slots) : (_a2 = slots.default) == null ? void 0 : _a2.call(slots); + } }; +}; +const __nuxt_component_0$2 = /* @__PURE__ */ defineComponent({ + name: "ClientOnly", + inheritAttrs: false, + // eslint-disable-next-line vue/require-prop-types + props: ["fallback", "placeholder", "placeholderTag", "fallbackTag"], + setup(_, { slots, attrs }) { + const mounted = ref(false); + return (props) => { + var _a2; + if (mounted.value) { + return (_a2 = slots.default) == null ? void 0 : _a2.call(slots); + } + const slot = slots.fallback || slots.placeholder; + if (slot) { + return slot(); + } + const fallbackStr = props.fallback || props.placeholder || ""; + const fallbackTag = props.fallbackTag || props.placeholderTag || "span"; + return createElementBlock(fallbackTag, attrs, fallbackStr); + }; + } +}); +const _sfc_main$7 = { + name: componentName, + props: { + placeholder: String, + tag: { + type: String, + default: "span" + } + } +}; +function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) { + const _component_ClientOnly = __nuxt_component_0$2; + _push(ssrRenderComponent(_component_ClientOnly, mergeProps({ + placeholder: $props.placeholder, + "placeholder-tag": $props.tag + }, _attrs), {}, _parent)); +} +const _sfc_setup$7 = _sfc_main$7.setup; +_sfc_main$7.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxtjs/color-mode/dist/runtime/component.vue3.vue"); + return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0; +}; +const __nuxt_component_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["ssrRender", _sfc_ssrRender$1]]); +const useColorMode = () => { + return useState("color-mode").value; +}; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "ThemeSelect", + __ssrInlineRender: true, + setup(__props) { + const colorMode = useColorMode(); + return (_ctx, _push, _parent, _attrs) => { + const _component_ColorScheme = __nuxt_component_0$1; + const _component_Icon = __nuxt_component_0$4; + _push(``); + _push(ssrRenderComponent(_component_ColorScheme, { placeholder: "..." }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + if (unref(colorMode).preference === "dark") { + _push2(ssrRenderComponent(_component_Icon, { name: "uil:moon" }, null, _parent2, _scopeId)); + } else if (unref(colorMode).preference === "light") { + _push2(ssrRenderComponent(_component_Icon, { name: "uil:sun" }, null, _parent2, _scopeId)); + } else { + _push2(ssrRenderComponent(_component_Icon, { name: "uil:desktop" }, null, _parent2, _scopeId)); + } + } else { + return [ + unref(colorMode).preference === "dark" ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: "uil:moon" + })) : unref(colorMode).preference === "light" ? (openBlock(), createBlock(_component_Icon, { + key: 1, + name: "uil:sun" + })) : (openBlock(), createBlock(_component_Icon, { + key: 2, + name: "uil:desktop" + })) + ]; + } + }), + _: 1 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup$6 = _sfc_main$6.setup; +_sfc_main$6.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue"); + return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0; +}; +const __nuxt_component_6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-87324333"]]); +const ThemeSelect = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_6 +}); +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "AppHeader", + __ssrInlineRender: true, + props: {}, + setup(__props) { + const { config } = useDocus(); + const { navigation } = useContent(); + const { hasDocSearch } = useDocSearch(); + const hasDialog = computed(() => { + var _a2, _b, _c, _d; + return ((_a2 = navigation.value) == null ? void 0 : _a2.length) > 1 || ((_d = (_c = (_b = navigation.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.children) == null ? void 0 : _d.length); + }); + return (_ctx, _push, _parent, _attrs) => { + var _a2, _b; + const _component_Container = __nuxt_component_0$5; + const _component_AppHeaderDialog = __nuxt_component_1$3; + const _component_AppHeaderLogo = __nuxt_component_2$1; + const _component_AppHeaderNavigation = __nuxt_component_3; + const _component_AppDocSearch = __nuxt_component_4; + const _component_AppSearch = __nuxt_component_5; + const _component_ThemeSelect = __nuxt_component_6; + const _component_AppSocialIcons = __nuxt_component_3$1; + _push(``); + _push(ssrRenderComponent(_component_Container, { + fluid: (_b = (_a2 = unref(config)) == null ? void 0 : _a2.header) == null ? void 0 : _b.fluid + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(`
    `); + if (unref(hasDialog)) { + _push2(ssrRenderComponent(_component_AppHeaderDialog, null, null, _parent2, _scopeId)); + } else { + _push2(``); + } + _push2(ssrRenderComponent(_component_AppHeaderLogo, null, null, _parent2, _scopeId)); + _push2(`
    `); + if (unref(hasDialog)) { + _push2(ssrRenderComponent(_component_AppHeaderLogo, null, null, _parent2, _scopeId)); + } else { + _push2(``); + } + _push2(ssrRenderComponent(_component_AppHeaderNavigation, null, null, _parent2, _scopeId)); + _push2(`
    `); + if (unref(hasDocSearch)) { + _push2(ssrRenderComponent(_component_AppDocSearch, null, null, _parent2, _scopeId)); + } else { + _push2(ssrRenderComponent(_component_AppSearch, { + fuse: unref(config).fuse + }, null, _parent2, _scopeId)); + } + _push2(ssrRenderComponent(_component_ThemeSelect, null, null, _parent2, _scopeId)); + _push2(`
    `); + } else { + return [ + createVNode("div", { class: "section left" }, [ + unref(hasDialog) ? (openBlock(), createBlock(_component_AppHeaderDialog, { key: 0 })) : createCommentVNode("", true), + createVNode(_component_AppHeaderLogo) + ]), + createVNode("div", { class: "section center" }, [ + unref(hasDialog) ? (openBlock(), createBlock(_component_AppHeaderLogo, { key: 0 })) : createCommentVNode("", true), + createVNode(_component_AppHeaderNavigation) + ]), + createVNode("div", { class: "section right" }, [ + unref(hasDocSearch) ? (openBlock(), createBlock(_component_AppDocSearch, { key: 0 })) : (openBlock(), createBlock(_component_AppSearch, { + key: 1, + fuse: unref(config).fuse + }, null, 8, ["fuse"])), + createVNode(_component_ThemeSelect), + createVNode("div", { class: "social-icons" }, [ + createVNode(_component_AppSocialIcons) + ]) + ]) + ]; + } + }), + _: 1 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup$5 = _sfc_main$5.setup; +_sfc_main$5.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppHeader.vue"); + return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0; +}; +const __nuxt_component_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-f465a985"]]); +const AppHeader = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_1$1 +}); +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "AppFooter", + __ssrInlineRender: true, + setup(__props) { + const { config } = useDocus(); + const socialIcons = ref(null); + const icons = computed(() => { + var _a2, _b; + return ((_b = (_a2 = config.value) == null ? void 0 : _a2.footer) == null ? void 0 : _b.iconLinks) || []; + }); + const textLinks = computed(() => { + var _a2, _b; + return ((_b = (_a2 = config.value) == null ? void 0 : _a2.footer) == null ? void 0 : _b.textLinks) || []; + }); + const socialIconsCount = computed(() => { + var _a2; + return Object.entries(((_a2 = config.value) == null ? void 0 : _a2.socials) || {}).filter(([, v]) => v).length; + }); + const nbSocialIcons = computed(() => socialIcons.value ? socialIconsCount.value : 0); + return (_ctx, _push, _parent, _attrs) => { + var _a2, _b; + const _component_Container = __nuxt_component_0$5; + const _component_Icon = __nuxt_component_0$4; + const _component_NuxtLink = __nuxt_component_0$6; + const _component_AppSocialIcons = __nuxt_component_3$1; + _push(``); + _push(ssrRenderComponent(_component_Container, { + fluid: (_b = (_a2 = unref(config)) == null ? void 0 : _a2.footer) == null ? void 0 : _b.fluid, + padded: "", + class: "footer-container" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B; + if (_push2) { + _push2(`
    `); + if ((_b2 = (_a3 = unref(config)) == null ? void 0 : _a3.footer) == null ? void 0 : _b2.credits) { + _push2(``); + if ((_h = (_g = (_f = unref(config)) == null ? void 0 : _f.footer) == null ? void 0 : _g.credits) == null ? void 0 : _h.icon) { + _push2(ssrRenderComponent(_component_Icon, { + name: (_k = (_j = (_i = unref(config)) == null ? void 0 : _i.footer) == null ? void 0 : _j.credits) == null ? void 0 : _k.icon, + class: "left-icon" + }, null, _parent2, _scopeId)); + } else { + _push2(``); + } + if ((_n = (_m = (_l = unref(config)) == null ? void 0 : _l.footer) == null ? void 0 : _m.credits) == null ? void 0 : _n.text) { + _push2(`

    ${ssrInterpolate(unref(config).footer.credits.text)}

    `); + } else { + _push2(``); + } + _push2(``); + } else { + _push2(``); + } + _push2(`
    `); + ssrRenderList(unref(textLinks), (link) => { + _push2(ssrRenderComponent(_component_NuxtLink, { + key: link.href, + class: "text-link", + "aria-label": link.text, + href: link.href, + target: (link == null ? void 0 : link.target) || "_self", + rel: (link == null ? void 0 : link.rel) || "noopener noreferrer" + }, { + default: withCtx((_2, _push3, _parent3, _scopeId2) => { + if (_push3) { + _push3(`${ssrInterpolate(link.text)}`); + } else { + return [ + createTextVNode(toDisplayString(link.text), 1) + ]; + } + }), + _: 2 + }, _parent2, _scopeId)); + }); + _push2(`
    `); + ssrRenderList(unref(icons).slice(0, 6 - unref(nbSocialIcons)), (icon) => { + _push2(``); + _push2(ssrRenderComponent(_component_Icon, { + name: icon.icon + }, null, _parent2, _scopeId)); + _push2(``); + }); + _push2(``); + _push2(ssrRenderComponent(_component_AppSocialIcons, { + ref_key: "socialIcons", + ref: socialIcons + }, null, _parent2, _scopeId)); + _push2(`
    `); + } else { + return [ + createVNode("div", { class: "left" }, [ + ((_p = (_o = unref(config)) == null ? void 0 : _o.footer) == null ? void 0 : _p.credits) ? (openBlock(), createBlock("a", { + key: 0, + href: ((_s = (_r = (_q = unref(config)) == null ? void 0 : _q.footer) == null ? void 0 : _r.credits) == null ? void 0 : _s.href) || "#", + rel: "noopener", + target: "_blank" + }, [ + ((_v = (_u = (_t = unref(config)) == null ? void 0 : _t.footer) == null ? void 0 : _u.credits) == null ? void 0 : _v.icon) ? (openBlock(), createBlock(_component_Icon, { + key: 0, + name: (_y = (_x = (_w = unref(config)) == null ? void 0 : _w.footer) == null ? void 0 : _x.credits) == null ? void 0 : _y.icon, + class: "left-icon" + }, null, 8, ["name"])) : createCommentVNode("", true), + ((_B = (_A = (_z = unref(config)) == null ? void 0 : _z.footer) == null ? void 0 : _A.credits) == null ? void 0 : _B.text) ? (openBlock(), createBlock("p", { key: 1 }, toDisplayString(unref(config).footer.credits.text), 1)) : createCommentVNode("", true) + ], 8, ["href"])) : createCommentVNode("", true) + ]), + createVNode("div", { class: "center" }, [ + (openBlock(true), createBlock(Fragment, null, renderList(unref(textLinks), (link) => { + return openBlock(), createBlock(_component_NuxtLink, { + key: link.href, + class: "text-link", + "aria-label": link.text, + href: link.href, + target: (link == null ? void 0 : link.target) || "_self", + rel: (link == null ? void 0 : link.rel) || "noopener noreferrer" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(link.text), 1) + ]), + _: 2 + }, 1032, ["aria-label", "href", "target", "rel"]); + }), 128)) + ]), + createVNode("div", { class: "right" }, [ + (openBlock(true), createBlock(Fragment, null, renderList(unref(icons).slice(0, 6 - unref(nbSocialIcons)), (icon) => { + return openBlock(), createBlock("a", { + key: icon.label, + class: "icon-link", + "aria-label": icon.label, + href: icon.href, + target: "_blank", + rel: (icon == null ? void 0 : icon.rel) || "noopener noreferrer" + }, [ + createVNode(_component_Icon, { + name: icon.icon + }, null, 8, ["name"]) + ], 8, ["aria-label", "href", "rel"]); + }), 128)), + createVNode(_component_AppSocialIcons, { + ref_key: "socialIcons", + ref: socialIcons + }, null, 512) + ]) + ]; + } + }), + _: 1 + }, _parent)); + _push(``); + }; + } +}); +const _sfc_setup$4 = _sfc_main$4.setup; +_sfc_main$4.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppFooter.vue"); + return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0; +}; +const __nuxt_component_2 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-39bdaab3"]]); +const AppFooter = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_2 +}); +const useContentHead = (_content, to = useRoute()) => { + const content = unref(_content); + const config = /* @__PURE__ */ useRuntimeConfig(); + const refreshHead = (data = content) => { + if (!to.path || !data) { + return; + } + const head = Object.assign({}, (data == null ? void 0 : data.head) || {}); + head.meta = [...head.meta || []]; + head.link = [...head.link || []]; + const title = head.title || (data == null ? void 0 : data.title); + if (title) { + head.title = title; + if (!head.meta.some((m) => m.property === "og:title")) { + head.meta.push({ + property: "og:title", + content: title + }); + } + } + const host = config.public.content.host; + if (host) { + const _url = joinURL(host ?? "/", config.app.baseURL, to.fullPath); + const url = config.public.content.trailingSlash ? withTrailingSlash(_url) : withoutTrailingSlash(_url); + if (!head.meta.some((m) => m.property === "og:url")) { + head.meta.push({ + property: "og:url", + content: url + }); + } + if (!head.link.some((m) => m.rel === "canonical")) { + head.link.push({ + rel: "canonical", + href: url + }); + } + } + const description = (head == null ? void 0 : head.description) || (data == null ? void 0 : data.description); + if (description && head.meta.filter((m) => m.name === "description").length === 0) { + head.meta.push({ + name: "description", + content: description + }); + } + if (description && !head.meta.some((m) => m.property === "og:description")) { + head.meta.push({ + property: "og:description", + content: description + }); + } + const image = (head == null ? void 0 : head.image) || (data == null ? void 0 : data.image); + if (image && head.meta.filter((m) => m.property === "og:image").length === 0) { + if (typeof image === "string") { + head.meta.push({ + property: "og:image", + // @ts-ignore - We expect `head.image` from Nuxt configurations... + content: host && !hasProtocol(image) ? new URL(joinURL(config.app.baseURL, image), host).href : image + }); + } + if (typeof image === "object") { + const imageKeys = [ + "src", + "secure_url", + "type", + "width", + "height", + "alt" + ]; + for (const key of imageKeys) { + if (key === "src" && image.src) { + const isAbsoluteURL = hasProtocol(image.src); + const imageURL = isAbsoluteURL ? image.src : joinURL(config.app.baseURL, image.src ?? "/"); + head.meta.push({ + property: "og:image", + content: host && !isAbsoluteURL ? new URL(imageURL, host).href : imageURL + }); + } else if (image[key]) { + head.meta.push({ + property: `og:image:${key}`, + content: image[key] + }); + } + } + } + } + { + useHead(head); + } + }; + watch(() => unref(_content), refreshHead, { immediate: true }); +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "AppLayout", + __ssrInlineRender: true, + setup(__props) { + const { config } = useDocus(); + useHead({ + titleTemplate: config.value.titleTemplate, + meta: [ + { name: "twitter:card", content: "summary_large_image" } + ] + }); + watch( + () => config.value.titleTemplate, + () => useHead({ titleTemplate: config.value.titleTemplate }) + ); + useContentHead(config.value); + return (_ctx, _push, _parent, _attrs) => { + const _component_AppLoadingBar = _sfc_main$i; + const _component_AppHeader = __nuxt_component_1$1; + const _component_AppFooter = __nuxt_component_2; + _push(``); + _push(ssrRenderComponent(_component_AppLoadingBar, null, null, _parent)); + _push(ssrRenderComponent(_component_AppHeader, null, null, _parent)); + _push(`
    `); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`
    `); + _push(ssrRenderComponent(_component_AppFooter, null, null, _parent)); + _push(``); + }; + } +}); +const _sfc_setup$3 = _sfc_main$3.setup; +_sfc_main$3.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/components/app/AppLayout.vue"); + return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0; +}; +const __nuxt_component_0 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-5c2f7786"]]); +const AppLayout = /* @__PURE__ */ Object.freeze({ + __proto__: null, + default: __nuxt_component_0 +}); +const interpolatePath = (route, match) => { + return match.path.replace(/(:\w+)\([^)]+\)/g, "$1").replace(/(:\w+)[?+*]/g, "$1").replace(/:\w+/g, (r) => { + var _a2; + return ((_a2 = route.params[r.slice(1)]) == null ? void 0 : _a2.toString()) || ""; + }); +}; +const generateRouteKey = (routeProps, override) => { + const matchedRoute = routeProps.route.matched.find((m) => { + var _a2; + return ((_a2 = m.components) == null ? void 0 : _a2.default) === routeProps.Component.type; + }); + const source = override ?? (matchedRoute == null ? void 0 : matchedRoute.meta.key) ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute)); + return typeof source === "function" ? source(routeProps.route) : source; +}; +const wrapInKeepAlive = (props, children) => { + return { default: () => children }; +}; +const RouteProvider = /* @__PURE__ */ defineComponent({ + name: "RouteProvider", + props: { + vnode: { + type: Object, + required: true + }, + route: { + type: Object, + required: true + }, + vnodeRef: Object, + renderKey: String, + trackRootNodes: Boolean + }, + setup(props) { + const previousKey = props.renderKey; + const previousRoute = props.route; + const route = {}; + for (const key in props.route) { + Object.defineProperty(route, key, { + get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key] + }); + } + provide(PageRouteSymbol, shallowReactive(route)); + return () => { + return h(props.vnode, { ref: props.vnodeRef }); + }; + } +}); +const __nuxt_component_1 = /* @__PURE__ */ defineComponent({ + name: "NuxtPage", + inheritAttrs: false, + props: { + name: { + type: String + }, + transition: { + type: [Boolean, Object], + default: void 0 + }, + keepalive: { + type: [Boolean, Object], + default: void 0 + }, + route: { + type: Object + }, + pageKey: { + type: [Function, String], + default: null + } + }, + setup(props, { attrs, expose }) { + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + const pageRef = ref(); + inject(PageRouteSymbol, null); + expose({ pageRef }); + inject(LayoutMetaSymbol, null); + let vnode; + const done = nuxtApp.deferHydration(); + return () => { + return h(RouterView, { name: props.name, route: props.route, ...attrs }, { + default: (routeProps) => { + if (!routeProps.Component) { + done(); + return; + } + const key = generateRouteKey(routeProps, props.pageKey); + const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? appPageTransition); + const transitionProps = hasTransition && _mergeTransitionProps([ + props.transition, + routeProps.route.meta.pageTransition, + appPageTransition, + { onAfterLeave: () => { + nuxtApp.callHook("page:transition:finish", routeProps.Component); + } } + ].filter(Boolean)); + vnode = _wrapIf( + Transition, + hasTransition && transitionProps, + wrapInKeepAlive( + props.keepalive ?? routeProps.route.meta.keepalive ?? appKeepalive, + h(Suspense, { + suspensible: true, + onPending: () => nuxtApp.callHook("page:start", routeProps.Component), + onResolve: () => { + nextTick(() => nuxtApp.callHook("page:finish", routeProps.Component).finally(done)); + } + }, { + // @ts-expect-error seems to be an issue in vue types + default: () => h(RouteProvider, { + key, + vnode: routeProps.Component, + route: routeProps.route, + renderKey: key, + trackRootNodes: hasTransition, + vnodeRef: pageRef + }) + }) + ) + ).default(); + return vnode; + } + }); + }; + } +}); +function _toArray(val) { + return Array.isArray(val) ? val : val ? [val] : []; +} +function _mergeTransitionProps(routeProps) { + const _props = routeProps.map((prop) => ({ + ...prop, + onAfterLeave: _toArray(prop.onAfterLeave) + })); + return defu(..._props); +} +const _sfc_main$2 = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + const _component_AppLayout = __nuxt_component_0; + const _component_NuxtPage = __nuxt_component_1; + _push(ssrRenderComponent(_component_AppLayout, _attrs, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_NuxtPage) + ]; + } + }), + _: 1 + }, _parent)); +} +const _sfc_setup$2 = _sfc_main$2.setup; +_sfc_main$2.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/@nuxt-themes/docus/app.vue"); + return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; +}; +const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender]]); +const _sfc_main$1 = { + __name: "nuxt-error-page", + __ssrInlineRender: true, + props: { + error: Object + }, + setup(__props) { + const props = __props; + const _error = props.error; + (_error.stack || "").split("\n").splice(1).map((line) => { + const text2 = line.replace("webpack:/", "").replace(".vue", ".js").trim(); + return { + text: text2, + internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise") + }; + }).map((i) => `${i.text}`).join("\n"); + const statusCode = Number(_error.statusCode || 500); + const is404 = statusCode === 404; + const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error"); + const description = _error.message || _error.toString(); + const stack = void 0; + const _Error404 = /* @__PURE__ */ defineAsyncComponent(() => import('./_nuxt/error-404-f35a2418.mjs').then((r) => r.default || r)); + const _Error = /* @__PURE__ */ defineAsyncComponent(() => import('./_nuxt/error-500-04206157.mjs').then((r) => r.default || r)); + const ErrorTemplate = is404 ? _Error404 : _Error; + return (_ctx, _push, _parent, _attrs) => { + _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent)); + }; + } +}; +const _sfc_setup$1 = _sfc_main$1.setup; +_sfc_main$1.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-error-page.vue"); + return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; +}; +const _sfc_main = { + __name: "nuxt-root", + __ssrInlineRender: true, + setup(__props) { + const IslandRenderer = /* @__PURE__ */ defineAsyncComponent(() => import('./_nuxt/island-renderer-3439d61d.mjs').then((r) => r.default || r)); + const nuxtApp = /* @__PURE__ */ useNuxtApp(); + nuxtApp.deferHydration(); + nuxtApp.ssrContext.url; + const SingleRenderer = false; + provide(PageRouteSymbol, useRoute()); + nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup"); + const error = useError(); + onErrorCaptured((err, target, info) => { + nuxtApp.hooks.callHook("vue:error", err, target, info).catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError)); + { + const p = nuxtApp.runWithContext(() => showError(err)); + onServerPrefetch(() => p); + return false; + } + }); + const islandContext = nuxtApp.ssrContext.islandContext; + return (_ctx, _push, _parent, _attrs) => { + ssrRenderSuspense(_push, { + default: () => { + if (unref(error)) { + _push(ssrRenderComponent(unref(_sfc_main$1), { error: unref(error) }, null, _parent)); + } else if (unref(islandContext)) { + _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent)); + } else if (unref(SingleRenderer)) { + ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent); + } else { + _push(ssrRenderComponent(unref(AppComponent), null, null, _parent)); + } + }, + _: 1 + }); + }; + } +}; +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/nuxt/dist/app/components/nuxt-root.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +if (!globalThis.$fetch) { + globalThis.$fetch = $fetch$1.create({ + baseURL: baseURL() + }); +} +let entry; +{ + entry = async function createNuxtAppServer(ssrContext) { + const vueApp = createApp(_sfc_main); + const nuxt = createNuxtApp({ vueApp, ssrContext }); + try { + await applyPlugins(nuxt, plugins); + await nuxt.hooks.callHook("app:created", vueApp); + } catch (err) { + await nuxt.hooks.callHook("app:error", err); + nuxt.payload.error = nuxt.payload.error || err; + } + if (ssrContext == null ? void 0 : ssrContext._renderResponse) { + throw new Error("skipping render"); + } + return vueApp; + }; +} +const entry$1 = (ctx) => entry(ctx); + +export { useColorMode as A, useVModel as B, usePinceauTheme as C, queryContent as D, fetchContentNavigation as E, get$1 as F, assertArray as G, ensureArray as H, omit as I, sortList as J, apply as K, LayoutMetaSymbol as L, withoutKeys as M, withKeys as N, createQuery as O, PageRouteSymbol as P, _export_sfc as _, __nuxt_component_0$6 as a, useRoute as b, createError as c, appLayoutTransition as d, entry$1 as default, _wrapIf as e, useNuxtApp as f, useRuntimeConfig as g, useContent as h, useRequestEvent as i, useContentHead as j, usePinceauRuntime as k, layouts as l, useContentPreview as m, computedStyle as n, __nuxt_component_0$4 as o, useDocus as p, __nuxt_component_0$3 as q, useAppConfig as r, useState as s, __nuxt_component_0$5 as t, useHead as u, useContentHelpers as v, useRouter as w, useClipboard as x, onClickOutside as y, useAsyncData as z }; +//# sourceMappingURL=server.mjs.map diff --git a/.output/server/chunks/app/server.mjs.map b/.output/server/chunks/app/server.mjs.map new file mode 100644 index 0000000000..41d3be53ac --- /dev/null +++ b/.output/server/chunks/app/server.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server.mjs","sources":["../../../../node_modules/unctx/dist/index.mjs","../../../../.nuxt/dist/server/server.mjs"],"sourcesContent":null,"names":["createContext","asyncHandlers","createNamespace","_globalThis","globalKey","asyncHandlersKey"],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/app/styles.mjs b/.output/server/chunks/app/styles.mjs new file mode 100644 index 0000000000..f3844a140b --- /dev/null +++ b/.output/server/chunks/app/styles.mjs @@ -0,0 +1,4 @@ +const styles = {}; + +export { styles as default }; +//# sourceMappingURL=styles.mjs.map diff --git a/.output/server/chunks/app/styles.mjs.map b/.output/server/chunks/app/styles.mjs.map new file mode 100644 index 0000000000..eba085eafd --- /dev/null +++ b/.output/server/chunks/app/styles.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"styles.mjs","sources":["../../../../.nuxt/dist/server/styles.mjs"],"sourcesContent":null,"names":[],"mappings":"AACA,eAAe;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/build/mdc-imports.mjs b/.output/server/chunks/build/mdc-imports.mjs new file mode 100644 index 0000000000..bc9f0ad5f4 --- /dev/null +++ b/.output/server/chunks/build/mdc-imports.mjs @@ -0,0 +1,10 @@ +const remarkPlugins = { +}; + +const rehypePlugins = { +}; + +const highlight = {"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]}; + +export { highlight, rehypePlugins, remarkPlugins }; +//# sourceMappingURL=mdc-imports.mjs.map diff --git a/.output/server/chunks/build/mdc-imports.mjs.map b/.output/server/chunks/build/mdc-imports.mjs.map new file mode 100644 index 0000000000..0b26eaf40c --- /dev/null +++ b/.output/server/chunks/build/mdc-imports.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"mdc-imports.mjs","sources":["../../../../.nuxt/mdc-imports.mjs"],"sourcesContent":null,"names":[],"mappings":"AACY,MAAC,aAAa,GAAG;AAC7B,EAAC;AACD;AACY,MAAC,aAAa,GAAG;AAC7B,EAAC;AACD;AACY,MAAC,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/error-500.mjs b/.output/server/chunks/error-500.mjs new file mode 100644 index 0000000000..3f10daaf5c --- /dev/null +++ b/.output/server/chunks/error-500.mjs @@ -0,0 +1,21 @@ +const _messages = {"appName":"Nuxt","version":"","statusCode":500,"statusMessage":"Server error","description":"This page is temporarily unavailable."}; +const _render = function({ messages }) { +var __t, __p = ''; +__p += '' + +((__t = ( messages.statusCode )) == null ? '' : __t) + +' - ' + +((__t = ( messages.statusMessage )) == null ? '' : __t) + +' | ' + +((__t = ( messages.appName )) == null ? '' : __t) + +'

    ' + +((__t = ( messages.statusCode )) == null ? '' : __t) + +'

    ' + +((__t = ( messages.description )) == null ? '' : __t) + +'

    '; +return __p +}; +const _template = (messages) => _render({ messages: { ..._messages, ...messages } }); +const template = _template; + +export { template }; +//# sourceMappingURL=error-500.mjs.map diff --git a/.output/server/chunks/error-500.mjs.map b/.output/server/chunks/error-500.mjs.map new file mode 100644 index 0000000000..5520258586 --- /dev/null +++ b/.output/server/chunks/error-500.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500.mjs","sources":["../../../node_modules/@nuxt/ui-templates/dist/templates/error-500.mjs"],"sourcesContent":null,"names":[],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/handlers/renderer.mjs b/.output/server/chunks/handlers/renderer.mjs new file mode 100644 index 0000000000..2a7c65a70c --- /dev/null +++ b/.output/server/chunks/handlers/renderer.mjs @@ -0,0 +1,394 @@ +import { getRequestDependencies, getPreloadLinks, getPrefetchLinks, createRenderer } from 'vue-bundle-renderer/runtime'; +import { e as eventHandler, a as setResponseHeader, b as send, g as getResponseStatus, c as setResponseStatus, f as setResponseHeaders, h as useNitroApp, j as joinURL, i as useRuntimeConfig, k as getQuery, l as createError, m as getRouteRules, n as getResponseStatusText } from '../nitro/node-server.mjs'; +import { stringify, uneval } from 'devalue'; +import { renderToString } from 'vue/server-renderer'; +import { renderSSRHead } from '@unhead/ssr'; +import { version, unref } from 'vue'; +import { createServerHead as createServerHead$1 } from 'unhead'; +import { defineHeadPlugin } from '@unhead/shared'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +function defineRenderHandler(handler) { + return eventHandler(async (event) => { + if (event.path.endsWith("/favicon.ico")) { + setResponseHeader(event, "Content-Type", "image/x-icon"); + return send( + event, + "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" + ); + } + const response = await handler(event); + if (!response) { + const _currentStatus = getResponseStatus(event); + setResponseStatus(event, _currentStatus === 200 ? 500 : _currentStatus); + return send( + event, + "No response returned from render handler: " + event.path + ); + } + const nitroApp = useNitroApp(); + await nitroApp.hooks.callHook("render:response", response, { event }); + if (response.headers) { + setResponseHeaders(event, response.headers); + } + if (response.statusCode || response.statusMessage) { + setResponseStatus(event, response.statusCode, response.statusMessage); + } + return response.body; + }); +} + +function buildAssetsDir() { + return useRuntimeConfig().app.buildAssetsDir; +} +function buildAssetsURL(...path) { + return joinURL(publicAssetsURL(), buildAssetsDir(), ...path); +} +function publicAssetsURL(...path) { + const publicBase = useRuntimeConfig().app.cdnURL || useRuntimeConfig().app.baseURL; + return path.length ? joinURL(publicBase, ...path) : publicBase; +} + +const Vue3 = version.startsWith("3"); + +function resolveUnref(r) { + return typeof r === "function" ? r() : unref(r); +} +function resolveUnrefHeadInput(ref, lastKey = "") { + if (ref instanceof Promise) + return ref; + const root = resolveUnref(ref); + if (!ref || !root) + return root; + if (Array.isArray(root)) + return root.map((r) => resolveUnrefHeadInput(r, lastKey)); + if (typeof root === "object") { + return Object.fromEntries( + Object.entries(root).map(([k, v]) => { + if (k === "titleTemplate" || k.startsWith("on")) + return [k, unref(v)]; + return [k, resolveUnrefHeadInput(v, k)]; + }) + ); + } + return root; +} + +const VueReactivityPlugin = defineHeadPlugin({ + hooks: { + "entries:resolve": function(ctx) { + for (const entry of ctx.entries) + entry.resolvedInput = resolveUnrefHeadInput(entry.input); + } + } +}); + +const headSymbol = "usehead"; +function vueInstall(head) { + const plugin = { + install(app) { + if (Vue3) { + app.config.globalProperties.$unhead = head; + app.config.globalProperties.$head = head; + app.provide(headSymbol, head); + } + } + }; + return plugin.install; +} +function createServerHead(options = {}) { + const head = createServerHead$1(options); + head.use(VueReactivityPlugin); + head.install = vueInstall(head); + return head; +} + +const unheadPlugins = []; + +const appHead = {"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"}],"link":[],"style":[],"script":[],"noscript":[],"htmlAttrs":{"lang":"en"}}; + +const appRootId = "__nuxt"; + +const appRootTag = "div"; + +globalThis.__buildAssetsURL = buildAssetsURL; +globalThis.__publicAssetsURL = publicAssetsURL; +const getClientManifest = () => import('../app/client.manifest.mjs').then((r) => r.default || r).then((r) => typeof r === "function" ? r() : r); +const getServerEntry = () => import('../app/server.mjs').then((r) => r.default || r); +const getSSRStyles = lazyCachedFunction(() => import('../app/styles.mjs').then((r) => r.default || r)); +const getSSRRenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + if (!manifest) { + throw new Error("client.manifest is not available"); + } + const createSSRApp = await getServerEntry(); + if (!createSSRApp) { + throw new Error("Server bundle is not available"); + } + const options = { + manifest, + renderToString: renderToString$1, + buildAssetsURL + }; + const renderer = createRenderer(createSSRApp, options); + async function renderToString$1(input, context) { + const html = await renderToString(input, context); + return `<${appRootTag}${` id="${appRootId}"` }>${html}`; + } + return renderer; +}); +const getSPARenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + const spaTemplate = await import('../rollup/_virtual_spa-template.mjs').then((r) => r.template).catch(() => ""); + const options = { + manifest, + renderToString: () => `<${appRootTag}${` id="${appRootId}"` }>${spaTemplate}`, + buildAssetsURL + }; + const renderer = createRenderer(() => () => { + }, options); + const result = await renderer.renderToString({}); + const renderToString = (ssrContext) => { + const config = useRuntimeConfig(); + ssrContext.modules = ssrContext.modules || /* @__PURE__ */ new Set(); + ssrContext.payload = { + _errors: {}, + serverRendered: false, + data: {}, + state: {} + }; + ssrContext.config = { + public: config.public, + app: config.app + }; + return Promise.resolve(result); + }; + return { + rendererContext: renderer.rendererContext, + renderToString + }; +}); +const PAYLOAD_URL_RE = /\/_payload(\.[a-zA-Z0-9]+)?.json(\?.*)?$/ ; +const renderer = defineRenderHandler(async (event) => { + const nitroApp = useNitroApp(); + const ssrError = event.path.startsWith("/__nuxt_error") ? getQuery(event) : null; + if (ssrError && ssrError.statusCode) { + ssrError.statusCode = parseInt(ssrError.statusCode); + } + if (ssrError && !("__unenv__" in event.node.req)) { + throw createError({ + statusCode: 404, + statusMessage: "Page Not Found: /__nuxt_error" + }); + } + const islandContext = void 0; + let url = ssrError?.url || islandContext?.url || event.path; + const isRenderingPayload = PAYLOAD_URL_RE.test(url) && !islandContext; + if (isRenderingPayload) { + url = url.substring(0, url.lastIndexOf("/")) || "/"; + event._path = url; + event.node.req.url = url; + } + const routeOptions = getRouteRules(event); + const head = createServerHead({ + plugins: unheadPlugins + }); + const headEntryOptions = { mode: "server" }; + head.push(appHead, headEntryOptions); + const ssrContext = { + url, + event, + runtimeConfig: useRuntimeConfig(), + noSSR: event.context.nuxt?.noSSR || routeOptions.ssr === false && !islandContext || (false), + head, + error: !!ssrError, + nuxt: void 0, + /* NuxtApp */ + payload: ssrError ? { error: ssrError } : {}, + _payloadReducers: {}, + islandContext + }; + const renderer = ssrContext.noSSR ? await getSPARenderer() : await getSSRRenderer(); + const _rendered = await renderer.renderToString(ssrContext).catch(async (error) => { + if (ssrContext._renderResponse && error.message === "skipping render") { + return {}; + } + const _err = !ssrError && ssrContext.payload?.error || error; + await ssrContext.nuxt?.hooks.callHook("app:error", _err); + throw _err; + }); + await ssrContext.nuxt?.hooks.callHook("app:rendered", { ssrContext, renderResult: _rendered }); + if (ssrContext._renderResponse) { + return ssrContext._renderResponse; + } + if (ssrContext.payload?.error && !ssrError) { + throw ssrContext.payload.error; + } + if (isRenderingPayload) { + const response2 = renderPayloadResponse(ssrContext); + return response2; + } + const inlinedStyles = Boolean(islandContext) ? await renderInlineStyles(ssrContext.modules ?? ssrContext._registeredComponents ?? []) : []; + const NO_SCRIPTS = routeOptions.experimentalNoScripts; + const { styles, scripts } = getRequestDependencies(ssrContext, renderer.rendererContext); + head.push({ style: inlinedStyles }); + head.push({ + link: Object.values(styles).map( + (resource) => ({ rel: "stylesheet", href: renderer.rendererContext.buildAssetsURL(resource.file) }) + ) + }, headEntryOptions); + if (!NO_SCRIPTS) { + head.push({ + link: getPreloadLinks(ssrContext, renderer.rendererContext) + }, headEntryOptions); + head.push({ + link: getPrefetchLinks(ssrContext, renderer.rendererContext) + }, headEntryOptions); + head.push({ + script: renderPayloadJsonScript({ id: "__NUXT_DATA__", ssrContext, data: ssrContext.payload }) + }, { + ...headEntryOptions, + // this should come before another end of body scripts + tagPosition: "bodyClose", + tagPriority: "high" + }); + } + if (!routeOptions.experimentalNoScripts) { + head.push({ + script: Object.values(scripts).map((resource) => ({ + type: resource.module ? "module" : null, + src: renderer.rendererContext.buildAssetsURL(resource.file), + defer: resource.module ? null : true, + crossorigin: "" + })) + }, headEntryOptions); + } + const { headTags, bodyTags, bodyTagsOpen, htmlAttrs, bodyAttrs } = await renderSSRHead(head); + const htmlContext = { + island: Boolean(islandContext), + htmlAttrs: [htmlAttrs], + head: normalizeChunks([headTags, ssrContext.styles]), + bodyAttrs: [bodyAttrs], + bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]), + body: [_rendered.html], + bodyAppend: [bodyTags] + }; + await nitroApp.hooks.callHook("render:html", htmlContext, { event }); + const response = { + body: renderHTMLDocument(htmlContext), + statusCode: getResponseStatus(event), + statusMessage: getResponseStatusText(event), + headers: { + "content-type": "text/html;charset=utf-8", + "x-powered-by": "Nuxt" + } + }; + return response; +}); +function lazyCachedFunction(fn) { + let res = null; + return () => { + if (res === null) { + res = fn().catch((err) => { + res = null; + throw err; + }); + } + return res; + }; +} +function normalizeChunks(chunks) { + return chunks.filter(Boolean).map((i) => i.trim()); +} +function joinTags(tags) { + return tags.join(""); +} +function joinAttrs(chunks) { + return chunks.join(" "); +} +function renderHTMLDocument(html) { + return ` + +${joinTags(html.head)} +${joinTags(html.bodyPrepend)}${joinTags(html.body)}${joinTags(html.bodyAppend)} +`; +} +async function renderInlineStyles(usedModules) { + const styleMap = await getSSRStyles(); + const inlinedStyles = /* @__PURE__ */ new Set(); + for (const mod of usedModules) { + if (mod in styleMap) { + for (const style of await styleMap[mod]()) { + inlinedStyles.add(style); + } + } + } + return Array.from(inlinedStyles).map((style) => ({ innerHTML: style })); +} +function renderPayloadResponse(ssrContext) { + return { + body: stringify(splitPayload(ssrContext).payload, ssrContext._payloadReducers) , + statusCode: getResponseStatus(ssrContext.event), + statusMessage: getResponseStatusText(ssrContext.event), + headers: { + "content-type": "application/json;charset=utf-8" , + "x-powered-by": "Nuxt" + } + }; +} +function renderPayloadJsonScript(opts) { + const contents = opts.data ? stringify(opts.data, opts.ssrContext._payloadReducers) : ""; + const payload = { + type: "application/json", + id: opts.id, + innerHTML: contents, + "data-ssr": !(opts.ssrContext.noSSR) + }; + if (opts.src) { + payload["data-src"] = opts.src; + } + return [ + payload, + { + innerHTML: `window.__NUXT__={};window.__NUXT__.config=${uneval(opts.ssrContext.config)}` + } + ]; +} +function splitPayload(ssrContext) { + const { data, prerenderedAt, ...initial } = ssrContext.payload; + return { + initial: { ...initial, prerenderedAt }, + payload: { data, prerenderedAt } + }; +} + +export { renderer as default }; +//# sourceMappingURL=renderer.mjs.map diff --git a/.output/server/chunks/handlers/renderer.mjs.map b/.output/server/chunks/handlers/renderer.mjs.map new file mode 100644 index 0000000000..56b7048530 --- /dev/null +++ b/.output/server/chunks/handlers/renderer.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"renderer.mjs","sources":["../../../../node_modules/nitropack/dist/runtime/renderer.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/paths.js","../../../../node_modules/@unhead/vue/dist/shared/vue.cf295fb1.mjs","../../../../node_modules/nuxt/dist/core/runtime/nitro/renderer.js"],"sourcesContent":null,"names":["renderToString","_renderToString"],"mappings":"","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/.output/server/chunks/nitro/node-server.mjs b/.output/server/chunks/nitro/node-server.mjs new file mode 100644 index 0000000000..5154df35ca --- /dev/null +++ b/.output/server/chunks/nitro/node-server.mjs @@ -0,0 +1,13014 @@ +globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import http, { Server as Server$1 } from 'node:http'; +import https, { Server } from 'node:https'; +import { promises, existsSync } from 'fs'; +import { dirname as dirname$1, resolve as resolve$1, join } from 'path'; +import { promises as promises$1 } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { getHighlighter, loadWasm } from 'shikiji'; +import { unified } from 'unified'; +import { toString } from 'mdast-util-to-string'; +import { postprocess, preprocess } from 'micromark'; +import { stringifyPosition } from 'unist-util-stringify-position'; +import { markdownLineEnding, markdownSpace } from 'micromark-util-character'; +import { push, splice } from 'micromark-util-chunked'; +import { resolveAll } from 'micromark-util-resolve-all'; +import { normalizeUri } from 'micromark-util-sanitize-uri'; +import slugify from 'slugify'; +import remarkParse from 'remark-parse'; +import remark2rehype from 'remark-rehype'; +import remarkMDC, { parseFrontMatter } from 'remark-mdc'; +import { toString as toString$1 } from 'hast-util-to-string'; +import Slugger from 'github-slugger'; +import { detab } from 'detab'; +import remarkEmoji from 'remark-emoji'; +import remarkGFM from 'remark-gfm'; +import rehypeExternalLinks from 'rehype-external-links'; +import rehypeSortAttributeValues from 'rehype-sort-attribute-values'; +import rehypeSortAttributes from 'rehype-sort-attributes'; +import rehypeRaw from 'rehype-raw'; +import { visit } from 'unist-util-visit'; + +const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/; +const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/; +const JsonSigRx = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/; +function jsonParseTransform(key, value) { + if (key === "__proto__" || key === "constructor" && value && typeof value === "object" && "prototype" in value) { + warnKeyDropped(key); + return; + } + return value; +} +function warnKeyDropped(key) { + console.warn(`[destr] Dropping "${key}" key to prevent prototype pollution.`); +} +function destr(value, options = {}) { + if (typeof value !== "string") { + return value; + } + const _value = value.trim(); + if ( + // eslint-disable-next-line unicorn/prefer-at + value[0] === '"' && value.at(-1) === '"' && !value.includes("\\") + ) { + return _value.slice(1, -1); + } + if (_value.length <= 9) { + const _lval = _value.toLowerCase(); + if (_lval === "true") { + return true; + } + if (_lval === "false") { + return false; + } + if (_lval === "undefined") { + return void 0; + } + if (_lval === "null") { + return null; + } + if (_lval === "nan") { + return Number.NaN; + } + if (_lval === "infinity") { + return Number.POSITIVE_INFINITY; + } + if (_lval === "-infinity") { + return Number.NEGATIVE_INFINITY; + } + } + if (!JsonSigRx.test(value)) { + if (options.strict) { + throw new SyntaxError("[destr] Invalid JSON"); + } + return value; + } + try { + if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) { + if (options.strict) { + throw new Error("[destr] Possible prototype pollution"); + } + return JSON.parse(value, jsonParseTransform); + } + return JSON.parse(value); + } catch (error) { + if (options.strict) { + throw error; + } + return value; + } +} + +const HASH_RE = /#/g; +const AMPERSAND_RE = /&/g; +const EQUAL_RE = /=/g; +const PLUS_RE = /\+/g; +const ENC_CARET_RE = /%5e/gi; +const ENC_BACKTICK_RE = /%60/gi; +const ENC_PIPE_RE = /%7c/gi; +const ENC_SPACE_RE = /%20/gi; +const ENC_SLASH_RE = /%2f/gi; +function encode$1(text) { + return encodeURI("" + text).replace(ENC_PIPE_RE, "|"); +} +function encodeQueryValue(input) { + return encode$1(typeof input === "string" ? input : JSON.stringify(input)).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CARET_RE, "^"); +} +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +function decode$1(text = "") { + try { + return decodeURIComponent("" + text); + } catch { + return "" + text; + } +} +function decodePath(text) { + return decode$1(text.replace(ENC_SLASH_RE, "%252F")); +} +function decodeQueryKey(text) { + return decode$1(text.replace(PLUS_RE, " ")); +} +function decodeQueryValue(text) { + return decode$1(text.replace(PLUS_RE, " ")); +} + +function parseQuery(parametersString = "") { + const object = {}; + if (parametersString[0] === "?") { + parametersString = parametersString.slice(1); + } + for (const parameter of parametersString.split("&")) { + const s = parameter.match(/([^=]+)=?(.*)/) || []; + if (s.length < 2) { + continue; + } + const key = decodeQueryKey(s[1]); + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = decodeQueryValue(s[2] || ""); + if (object[key] === void 0) { + object[key] = value; + } else if (Array.isArray(object[key])) { + object[key].push(value); + } else { + object[key] = [object[key], value]; + } + } + return object; +} +function encodeQueryItem(key, value) { + if (typeof value === "number" || typeof value === "boolean") { + value = String(value); + } + if (!value) { + return encodeQueryKey(key); + } + if (Array.isArray(value)) { + return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join("&"); + } + return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`; +} +function stringifyQuery(query) { + return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join("&"); +} + +function isRelative(inputString) { + return ["./", "../"].some((string_) => inputString.startsWith(string_)); +} +const PROTOCOL_STRICT_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{1,2})/; +const PROTOCOL_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{2})?/; +const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/; +function hasProtocol(inputString, opts = {}) { + if (typeof opts === "boolean") { + opts = { acceptRelative: opts }; + } + if (opts.strict) { + return PROTOCOL_STRICT_REGEX.test(inputString); + } + return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false); +} +const PROTOCOL_SCRIPT_RE = /^[\s\0]*(blob|data|javascript|vbscript):$/i; +function isScriptProtocol(protocol) { + return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol); +} +const TRAILING_SLASH_RE = /\/$|\/\?/; +function hasTrailingSlash(input = "", queryParameters = false) { + if (!queryParameters) { + return input.endsWith("/"); + } + return TRAILING_SLASH_RE.test(input); +} +function withoutTrailingSlash(input = "", queryParameters = false) { + if (!queryParameters) { + return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/"; + } + if (!hasTrailingSlash(input, true)) { + return input || "/"; + } + const [s0, ...s] = input.split("?"); + return (s0.slice(0, -1) || "/") + (s.length > 0 ? `?${s.join("?")}` : ""); +} +function withTrailingSlash(input = "", queryParameters = false) { + if (!queryParameters) { + return input.endsWith("/") ? input : input + "/"; + } + if (hasTrailingSlash(input, true)) { + return input || "/"; + } + const [s0, ...s] = input.split("?"); + return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : ""); +} +function hasLeadingSlash(input = "") { + return input.startsWith("/"); +} +function withLeadingSlash(input = "") { + return hasLeadingSlash(input) ? input : "/" + input; +} +function withBase(input, base) { + if (isEmptyURL(base) || hasProtocol(input)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (input.startsWith(_base)) { + return input; + } + return joinURL(_base, input); +} +function withoutBase(input, base) { + if (isEmptyURL(base)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (!input.startsWith(_base)) { + return input; + } + const trimmed = input.slice(_base.length); + return trimmed[0] === "/" ? trimmed : "/" + trimmed; +} +function withQuery(input, query) { + const parsed = parseURL(input); + const mergedQuery = { ...parseQuery(parsed.search), ...query }; + parsed.search = stringifyQuery(mergedQuery); + return stringifyParsedURL(parsed); +} +function getQuery$1(input) { + return parseQuery(parseURL(input).search); +} +function isEmptyURL(url) { + return !url || url === "/"; +} +function isNonEmptyURL(url) { + return url && url !== "/"; +} +const JOIN_LEADING_SLASH_RE = /^\.?\//; +function joinURL(base, ...input) { + let url = base || ""; + for (const segment of input.filter((url2) => isNonEmptyURL(url2))) { + if (url) { + const _segment = segment.replace(JOIN_LEADING_SLASH_RE, ""); + url = withTrailingSlash(url) + _segment; + } else { + url = segment; + } + } + return url; +} + +function parseURL(input = "", defaultProto) { + const _specialProtoMatch = input.match( + /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/ + ); + if (_specialProtoMatch) { + const [, _proto, _pathname = ""] = _specialProtoMatch; + return { + protocol: _proto, + pathname: _pathname, + href: _proto + _pathname, + auth: "", + host: "", + search: "", + hash: "" + }; + } + if (!hasProtocol(input, { acceptRelative: true })) { + return defaultProto ? parseURL(defaultProto + input) : parsePath(input); + } + const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || []; + const [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || []; + const { pathname, search, hash } = parsePath( + path.replace(/\/(?=[A-Za-z]:)/, "") + ); + return { + protocol, + auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "", + host, + pathname, + search, + hash + }; +} +function parsePath(input = "") { + const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1); + return { + pathname, + search, + hash + }; +} +function stringifyParsedURL(parsed) { + const pathname = parsed.pathname || ""; + const search = parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : ""; + const hash = parsed.hash || ""; + const auth = parsed.auth ? parsed.auth + "@" : ""; + const host = parsed.host || ""; + const proto = parsed.protocol ? parsed.protocol + "//" : ""; + return proto + auth + host + pathname + search + hash; +} + +const fieldContentRegExp = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; +function parse$1(str, options) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + const obj = {}; + const opt = options || {}; + const dec = opt.decode || decode; + let index = 0; + while (index < str.length) { + const eqIdx = str.indexOf("=", index); + if (eqIdx === -1) { + break; + } + let endIdx = str.indexOf(";", index); + if (endIdx === -1) { + endIdx = str.length; + } else if (endIdx < eqIdx) { + index = str.lastIndexOf(";", eqIdx - 1) + 1; + continue; + } + const key = str.slice(index, eqIdx).trim(); + if (void 0 === obj[key]) { + let val = str.slice(eqIdx + 1, endIdx).trim(); + if (val.codePointAt(0) === 34) { + val = val.slice(1, -1); + } + obj[key] = tryDecode(val, dec); + } + index = endIdx + 1; + } + return obj; +} +function serialize(name, value, options) { + const opt = options || {}; + const enc = opt.encode || encode; + if (typeof enc !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!fieldContentRegExp.test(name)) { + throw new TypeError("argument name is invalid"); + } + const encodedValue = enc(value); + if (encodedValue && !fieldContentRegExp.test(encodedValue)) { + throw new TypeError("argument val is invalid"); + } + let str = name + "=" + encodedValue; + if (void 0 !== opt.maxAge && opt.maxAge !== null) { + const maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge) || !Number.isFinite(maxAge)) { + throw new TypeError("option maxAge is invalid"); + } + str += "; Max-Age=" + Math.floor(maxAge); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError("option domain is invalid"); + } + str += "; Domain=" + opt.domain; + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError("option path is invalid"); + } + str += "; Path=" + opt.path; + } + if (opt.expires) { + if (!isDate(opt.expires) || Number.isNaN(opt.expires.valueOf())) { + throw new TypeError("option expires is invalid"); + } + str += "; Expires=" + opt.expires.toUTCString(); + } + if (opt.httpOnly) { + str += "; HttpOnly"; + } + if (opt.secure) { + str += "; Secure"; + } + if (opt.priority) { + const priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority; + switch (priority) { + case "low": + str += "; Priority=Low"; + break; + case "medium": + str += "; Priority=Medium"; + break; + case "high": + str += "; Priority=High"; + break; + default: + throw new TypeError("option priority is invalid"); + } + } + if (opt.sameSite) { + const sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += "; SameSite=Strict"; + break; + case "lax": + str += "; SameSite=Lax"; + break; + case "strict": + str += "; SameSite=Strict"; + break; + case "none": + str += "; SameSite=None"; + break; + default: + throw new TypeError("option sameSite is invalid"); + } + } + return str; +} +function isDate(val) { + return Object.prototype.toString.call(val) === "[object Date]" || val instanceof Date; +} +function tryDecode(str, decode2) { + try { + return decode2(str); + } catch { + return str; + } +} +function decode(str) { + return str.includes("%") ? decodeURIComponent(str) : str; +} +function encode(val) { + return encodeURIComponent(val); +} + +const NODE_TYPES = { + NORMAL: 0, + WILDCARD: 1, + PLACEHOLDER: 2 +}; + +function createRouter$1(options = {}) { + const ctx = { + options, + rootNode: createRadixNode(), + staticRoutesMap: {} + }; + const normalizeTrailingSlash = (p) => options.strictTrailingSlash ? p : p.replace(/\/$/, "") || "/"; + if (options.routes) { + for (const path in options.routes) { + insert(ctx, normalizeTrailingSlash(path), options.routes[path]); + } + } + return { + ctx, + // @ts-ignore + lookup: (path) => lookup(ctx, normalizeTrailingSlash(path)), + insert: (path, data) => insert(ctx, normalizeTrailingSlash(path), data), + remove: (path) => remove(ctx, normalizeTrailingSlash(path)) + }; +} +function lookup(ctx, path) { + const staticPathNode = ctx.staticRoutesMap[path]; + if (staticPathNode) { + return staticPathNode.data; + } + const sections = path.split("/"); + const params = {}; + let paramsFound = false; + let wildcardNode = null; + let node = ctx.rootNode; + let wildCardParam = null; + for (let i = 0; i < sections.length; i++) { + const section = sections[i]; + if (node.wildcardChildNode !== null) { + wildcardNode = node.wildcardChildNode; + wildCardParam = sections.slice(i).join("/"); + } + const nextNode = node.children.get(section); + if (nextNode !== void 0) { + node = nextNode; + } else { + node = node.placeholderChildNode; + if (node !== null) { + params[node.paramName] = section; + paramsFound = true; + } else { + break; + } + } + } + if ((node === null || node.data === null) && wildcardNode !== null) { + node = wildcardNode; + params[node.paramName || "_"] = wildCardParam; + paramsFound = true; + } + if (!node) { + return null; + } + if (paramsFound) { + return { + ...node.data, + params: paramsFound ? params : void 0 + }; + } + return node.data; +} +function insert(ctx, path, data) { + let isStaticRoute = true; + const sections = path.split("/"); + let node = ctx.rootNode; + let _unnamedPlaceholderCtr = 0; + for (const section of sections) { + let childNode; + if (childNode = node.children.get(section)) { + node = childNode; + } else { + const type = getNodeType(section); + childNode = createRadixNode({ type, parent: node }); + node.children.set(section, childNode); + if (type === NODE_TYPES.PLACEHOLDER) { + childNode.paramName = section === "*" ? `_${_unnamedPlaceholderCtr++}` : section.slice(1); + node.placeholderChildNode = childNode; + isStaticRoute = false; + } else if (type === NODE_TYPES.WILDCARD) { + node.wildcardChildNode = childNode; + childNode.paramName = section.slice( + 3 + /* "**:" */ + ) || "_"; + isStaticRoute = false; + } + node = childNode; + } + } + node.data = data; + if (isStaticRoute === true) { + ctx.staticRoutesMap[path] = node; + } + return node; +} +function remove(ctx, path) { + let success = false; + const sections = path.split("/"); + let node = ctx.rootNode; + for (const section of sections) { + node = node.children.get(section); + if (!node) { + return success; + } + } + if (node.data) { + const lastSection = sections[sections.length - 1]; + node.data = null; + if (Object.keys(node.children).length === 0) { + const parentNode = node.parent; + parentNode.children.delete(lastSection); + parentNode.wildcardChildNode = null; + parentNode.placeholderChildNode = null; + } + success = true; + } + return success; +} +function createRadixNode(options = {}) { + return { + type: options.type || NODE_TYPES.NORMAL, + parent: options.parent || null, + children: /* @__PURE__ */ new Map(), + data: options.data || null, + paramName: options.paramName || null, + wildcardChildNode: null, + placeholderChildNode: null + }; +} +function getNodeType(str) { + if (str.startsWith("**")) { + return NODE_TYPES.WILDCARD; + } + if (str[0] === ":" || str === "*") { + return NODE_TYPES.PLACEHOLDER; + } + return NODE_TYPES.NORMAL; +} + +function toRouteMatcher(router) { + const table = _routerNodeToTable("", router.ctx.rootNode); + return _createMatcher(table); +} +function _createMatcher(table) { + return { + ctx: { table }, + matchAll: (path) => _matchRoutes(path, table) + }; +} +function _createRouteTable() { + return { + static: /* @__PURE__ */ new Map(), + wildcard: /* @__PURE__ */ new Map(), + dynamic: /* @__PURE__ */ new Map() + }; +} +function _matchRoutes(path, table) { + const matches = []; + for (const [key, value] of _sortRoutesMap(table.wildcard)) { + if (path.startsWith(key)) { + matches.push(value); + } + } + for (const [key, value] of _sortRoutesMap(table.dynamic)) { + if (path.startsWith(key + "/")) { + const subPath = "/" + path.slice(key.length).split("/").splice(2).join("/"); + matches.push(..._matchRoutes(subPath, value)); + } + } + const staticMatch = table.static.get(path); + if (staticMatch) { + matches.push(staticMatch); + } + return matches.filter(Boolean); +} +function _sortRoutesMap(m) { + return [...m.entries()].sort((a, b) => a[0].length - b[0].length); +} +function _routerNodeToTable(initialPath, initialNode) { + const table = _createRouteTable(); + function _addNode(path, node) { + if (path) { + if (node.type === NODE_TYPES.NORMAL && !(path.includes("*") || path.includes(":"))) { + table.static.set(path, node.data); + } else if (node.type === NODE_TYPES.WILDCARD) { + table.wildcard.set(path.replace("/**", ""), node.data); + } else if (node.type === NODE_TYPES.PLACEHOLDER) { + const subTable = _routerNodeToTable("", node); + if (node.data) { + subTable.static.set("/", node.data); + } + table.dynamic.set(path.replace(/\/\*|\/:\w+/, ""), subTable); + return; + } + } + for (const [childPath, child] of node.children.entries()) { + _addNode(`${path}/${childPath}`.replace("//", "/"), child); + } + } + _addNode(initialPath, initialNode); + return table; +} + +function _defu(baseObject, defaults, namespace = ".", merger) { + if (!_isPlainObject(defaults)) { + return _defu(baseObject, {}, namespace, merger); + } + const object = Object.assign({}, defaults); + for (const key in baseObject) { + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = baseObject[key]; + if (value === null || value === void 0) { + continue; + } + if (merger && merger(object, key, value, namespace)) { + continue; + } + if (Array.isArray(value) && Array.isArray(object[key])) { + object[key] = [...value, ...object[key]]; + } else if (_isPlainObject(value) && _isPlainObject(object[key])) { + object[key] = _defu( + value, + object[key], + (namespace ? `${namespace}.` : "") + key.toString(), + merger + ); + } else { + object[key] = value; + } + } + return object; +} +function _isPlainObject(value) { + if (value === null || typeof value !== "object") { + return false; + } + const prototype = Object.getPrototypeOf(value); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value); +} +function createDefu(merger) { + return (...arguments_) => ( + // eslint-disable-next-line unicorn/no-array-reduce + arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) + ); +} +const defu = createDefu(); +const defuFn = createDefu((object, key, currentValue) => { + if (object[key] !== void 0 && typeof currentValue === "function") { + object[key] = currentValue(object[key]); + return true; + } +}); + +function rawHeaders(headers) { + const rawHeaders2 = []; + for (const key in headers) { + if (Array.isArray(headers[key])) { + for (const h of headers[key]) { + rawHeaders2.push(key, h); + } + } else { + rawHeaders2.push(key, headers[key]); + } + } + return rawHeaders2; +} +function mergeFns(...functions) { + return function(...args) { + for (const fn of functions) { + fn(...args); + } + }; +} +function createNotImplementedError(name) { + throw new Error(`[unenv] ${name} is not implemented yet!`); +} + +let defaultMaxListeners = 10; +let EventEmitter$1 = class EventEmitter { + __unenv__ = true; + _events = /* @__PURE__ */ Object.create(null); + _maxListeners; + static get defaultMaxListeners() { + return defaultMaxListeners; + } + static set defaultMaxListeners(arg) { + if (typeof arg !== "number" || arg < 0 || Number.isNaN(arg)) { + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + "." + ); + } + defaultMaxListeners = arg; + } + setMaxListeners(n) { + if (typeof n !== "number" || n < 0 || Number.isNaN(n)) { + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + n + "." + ); + } + this._maxListeners = n; + return this; + } + getMaxListeners() { + return _getMaxListeners(this); + } + emit(type, ...args) { + if (!this._events[type] || this._events[type].length === 0) { + return false; + } + if (type === "error") { + let er; + if (args.length > 0) { + er = args[0]; + } + if (er instanceof Error) { + throw er; + } + const err = new Error( + "Unhandled error." + (er ? " (" + er.message + ")" : "") + ); + err.context = er; + throw err; + } + for (const _listener of this._events[type]) { + (_listener.listener || _listener).apply(this, args); + } + return true; + } + addListener(type, listener) { + return _addListener(this, type, listener, false); + } + on(type, listener) { + return _addListener(this, type, listener, false); + } + prependListener(type, listener) { + return _addListener(this, type, listener, true); + } + once(type, listener) { + return this.on(type, _wrapOnce(this, type, listener)); + } + prependOnceListener(type, listener) { + return this.prependListener(type, _wrapOnce(this, type, listener)); + } + removeListener(type, listener) { + return _removeListener(this, type, listener); + } + off(type, listener) { + return this.removeListener(type, listener); + } + removeAllListeners(type) { + return _removeAllListeners(this, type); + } + listeners(type) { + return _listeners(this, type, true); + } + rawListeners(type) { + return _listeners(this, type, false); + } + listenerCount(type) { + return this.rawListeners(type).length; + } + eventNames() { + return Object.keys(this._events); + } +}; +function _addListener(target, type, listener, prepend) { + _checkListener(listener); + if (target._events.newListener !== void 0) { + target.emit("newListener", type, listener.listener || listener); + } + if (!target._events[type]) { + target._events[type] = []; + } + if (prepend) { + target._events[type].unshift(listener); + } else { + target._events[type].push(listener); + } + const maxListeners = _getMaxListeners(target); + if (maxListeners > 0 && target._events[type].length > maxListeners && !target._events[type].warned) { + target._events[type].warned = true; + const warning = new Error( + `[unenv] Possible EventEmitter memory leak detected. ${target._events[type].length} ${type} listeners added. Use emitter.setMaxListeners() to increase limit` + ); + warning.name = "MaxListenersExceededWarning"; + warning.emitter = target; + warning.type = type; + warning.count = target._events[type]?.length; + console.warn(warning); + } + return target; +} +function _removeListener(target, type, listener) { + _checkListener(listener); + if (!target._events[type] || target._events[type].length === 0) { + return target; + } + const lenBeforeFilter = target._events[type].length; + target._events[type] = target._events[type].filter((fn) => fn !== listener); + if (lenBeforeFilter === target._events[type].length) { + return target; + } + if (target._events.removeListener) { + target.emit("removeListener", type, listener.listener || listener); + } + if (target._events[type].length === 0) { + delete target._events[type]; + } + return target; +} +function _removeAllListeners(target, type) { + if (!target._events[type] || target._events[type].length === 0) { + return target; + } + if (target._events.removeListener) { + for (const _listener of target._events[type]) { + target.emit("removeListener", type, _listener.listener || _listener); + } + } + delete target._events[type]; + return target; +} +function _wrapOnce(target, type, listener) { + let fired = false; + const wrapper = (...args) => { + if (fired) { + return; + } + target.removeListener(type, wrapper); + fired = true; + return args.length === 0 ? listener.call(target) : listener.apply(target, args); + }; + wrapper.listener = listener; + return wrapper; +} +function _getMaxListeners(target) { + return target._maxListeners ?? EventEmitter$1.defaultMaxListeners; +} +function _listeners(target, type, unwrap) { + let listeners = target._events[type]; + if (typeof listeners === "function") { + listeners = [listeners]; + } + return unwrap ? listeners.map((l) => l.listener || l) : listeners; +} +function _checkListener(listener) { + if (typeof listener !== "function") { + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + typeof listener + ); + } +} + +const EventEmitter = globalThis.EventEmitter || EventEmitter$1; + +class _Readable extends EventEmitter { + __unenv__ = true; + readableEncoding = null; + readableEnded = true; + readableFlowing = false; + readableHighWaterMark = 0; + readableLength = 0; + readableObjectMode = false; + readableAborted = false; + readableDidRead = false; + closed = false; + errored = null; + readable = false; + destroyed = false; + static from(_iterable, options) { + return new _Readable(options); + } + constructor(_opts) { + super(); + } + _read(_size) { + } + read(_size) { + } + setEncoding(_encoding) { + return this; + } + pause() { + return this; + } + resume() { + return this; + } + isPaused() { + return true; + } + unpipe(_destination) { + return this; + } + unshift(_chunk, _encoding) { + } + wrap(_oldStream) { + return this; + } + push(_chunk, _encoding) { + return false; + } + _destroy(_error, _callback) { + this.removeAllListeners(); + } + destroy(error) { + this.destroyed = true; + this._destroy(error); + return this; + } + pipe(_destenition, _options) { + return {}; + } + compose(stream, options) { + throw new Error("[unenv] Method not implemented."); + } + [Symbol.asyncDispose]() { + this.destroy(); + return Promise.resolve(); + } + async *[Symbol.asyncIterator]() { + throw createNotImplementedError("Readable.asyncIterator"); + } + iterator(options) { + throw createNotImplementedError("Readable.iterator"); + } + map(fn, options) { + throw createNotImplementedError("Readable.map"); + } + filter(fn, options) { + throw createNotImplementedError("Readable.filter"); + } + forEach(fn, options) { + throw createNotImplementedError("Readable.forEach"); + } + reduce(fn, initialValue, options) { + throw createNotImplementedError("Readable.reduce"); + } + find(fn, options) { + throw createNotImplementedError("Readable.find"); + } + findIndex(fn, options) { + throw createNotImplementedError("Readable.findIndex"); + } + some(fn, options) { + throw createNotImplementedError("Readable.some"); + } + toArray(options) { + throw createNotImplementedError("Readable.toArray"); + } + every(fn, options) { + throw createNotImplementedError("Readable.every"); + } + flatMap(fn, options) { + throw createNotImplementedError("Readable.flatMap"); + } + drop(limit, options) { + throw createNotImplementedError("Readable.drop"); + } + take(limit, options) { + throw createNotImplementedError("Readable.take"); + } + asIndexedPairs(options) { + throw createNotImplementedError("Readable.asIndexedPairs"); + } +} +const Readable = globalThis.Readable || _Readable; + +class _Writable extends EventEmitter { + __unenv__ = true; + writable = true; + writableEnded = false; + writableFinished = false; + writableHighWaterMark = 0; + writableLength = 0; + writableObjectMode = false; + writableCorked = 0; + closed = false; + errored = null; + writableNeedDrain = false; + destroyed = false; + _data; + _encoding = "utf-8"; + constructor(_opts) { + super(); + } + pipe(_destenition, _options) { + return {}; + } + _write(chunk, encoding, callback) { + if (this.writableEnded) { + if (callback) { + callback(); + } + return; + } + if (this._data === void 0) { + this._data = chunk; + } else { + const a = typeof this._data === "string" ? Buffer.from(this._data, this._encoding || encoding || "utf8") : this._data; + const b = typeof chunk === "string" ? Buffer.from(chunk, encoding || this._encoding || "utf8") : chunk; + this._data = Buffer.concat([a, b]); + } + this._encoding = encoding; + if (callback) { + callback(); + } + } + _writev(_chunks, _callback) { + } + _destroy(_error, _callback) { + } + _final(_callback) { + } + write(chunk, arg2, arg3) { + const encoding = typeof arg2 === "string" ? this._encoding : "utf-8"; + const cb = typeof arg2 === "function" ? arg2 : typeof arg3 === "function" ? arg3 : void 0; + this._write(chunk, encoding, cb); + return true; + } + setDefaultEncoding(_encoding) { + return this; + } + end(arg1, arg2, arg3) { + const callback = typeof arg1 === "function" ? arg1 : typeof arg2 === "function" ? arg2 : typeof arg3 === "function" ? arg3 : void 0; + if (this.writableEnded) { + if (callback) { + callback(); + } + return this; + } + const data = arg1 === callback ? void 0 : arg1; + if (data) { + const encoding = arg2 === callback ? void 0 : arg2; + this.write(data, encoding, callback); + } + this.writableEnded = true; + this.writableFinished = true; + this.emit("close"); + this.emit("finish"); + return this; + } + cork() { + } + uncork() { + } + destroy(_error) { + this.destroyed = true; + delete this._data; + this.removeAllListeners(); + return this; + } + compose(stream, options) { + throw new Error("[h3] Method not implemented."); + } +} +const Writable = globalThis.Writable || _Writable; + +const __Duplex = class { + allowHalfOpen = true; + _destroy; + constructor(readable = new Readable(), writable = new Writable()) { + Object.assign(this, readable); + Object.assign(this, writable); + this._destroy = mergeFns(readable._destroy, writable._destroy); + } +}; +function getDuplex() { + Object.assign(__Duplex.prototype, Readable.prototype); + Object.assign(__Duplex.prototype, Writable.prototype); + return __Duplex; +} +const _Duplex = /* @__PURE__ */ getDuplex(); +const Duplex = globalThis.Duplex || _Duplex; + +class Socket extends Duplex { + __unenv__ = true; + bufferSize = 0; + bytesRead = 0; + bytesWritten = 0; + connecting = false; + destroyed = false; + pending = false; + localAddress = ""; + localPort = 0; + remoteAddress = ""; + remoteFamily = ""; + remotePort = 0; + readyState = "readOnly"; + constructor(_options) { + super(); + } + write(_buffer, _arg1, _arg2) { + return false; + } + connect(_arg1, _arg2, _arg3) { + return this; + } + end(_arg1, _arg2, _arg3) { + return this; + } + setEncoding(_encoding) { + return this; + } + pause() { + return this; + } + resume() { + return this; + } + setTimeout(_timeout, _callback) { + return this; + } + setNoDelay(_noDelay) { + return this; + } + setKeepAlive(_enable, _initialDelay) { + return this; + } + address() { + return {}; + } + unref() { + return this; + } + ref() { + return this; + } + resetAndDestroy() { + const err = new Error("ERR_SOCKET_CLOSED"); + err.code = "ERR_SOCKET_CLOSED"; + this.destroy(err); + return this; + } +} + +class IncomingMessage extends Readable { + __unenv__ = {}; + aborted = false; + httpVersion = "1.1"; + httpVersionMajor = 1; + httpVersionMinor = 1; + complete = true; + connection; + socket; + headers = {}; + trailers = {}; + method = "GET"; + url = "/"; + statusCode = 200; + statusMessage = ""; + closed = false; + errored = null; + readable = false; + constructor(socket) { + super(); + this.socket = this.connection = socket || new Socket(); + } + get rawHeaders() { + return rawHeaders(this.headers); + } + get rawTrailers() { + return []; + } + setTimeout(_msecs, _callback) { + return this; + } + get headersDistinct() { + return _distinct(this.headers); + } + get trailersDistinct() { + return _distinct(this.trailers); + } +} +function _distinct(obj) { + const d = {}; + for (const [key, value] of Object.entries(obj)) { + if (key) { + d[key] = (Array.isArray(value) ? value : [value]).filter( + Boolean + ); + } + } + return d; +} + +class ServerResponse extends Writable { + __unenv__ = true; + statusCode = 200; + statusMessage = ""; + upgrading = false; + chunkedEncoding = false; + shouldKeepAlive = false; + useChunkedEncodingByDefault = false; + sendDate = false; + finished = false; + headersSent = false; + strictContentLength = false; + connection = null; + socket = null; + req; + _headers = {}; + constructor(req) { + super(); + this.req = req; + } + assignSocket(socket) { + socket._httpMessage = this; + this.socket = socket; + this.connection = socket; + this.emit("socket", socket); + this._flush(); + } + _flush() { + this.flushHeaders(); + } + detachSocket(_socket) { + } + writeContinue(_callback) { + } + writeHead(statusCode, arg1, arg2) { + if (statusCode) { + this.statusCode = statusCode; + } + if (typeof arg1 === "string") { + this.statusMessage = arg1; + arg1 = void 0; + } + const headers = arg2 || arg1; + if (headers) { + if (Array.isArray(headers)) ; else { + for (const key in headers) { + this.setHeader(key, headers[key]); + } + } + } + this.headersSent = true; + return this; + } + writeProcessing() { + } + setTimeout(_msecs, _callback) { + return this; + } + appendHeader(name, value) { + name = name.toLowerCase(); + const current = this._headers[name]; + const all = [ + ...Array.isArray(current) ? current : [current], + ...Array.isArray(value) ? value : [value] + ].filter(Boolean); + this._headers[name] = all.length > 1 ? all : all[0]; + return this; + } + setHeader(name, value) { + this._headers[name.toLowerCase()] = value; + return this; + } + getHeader(name) { + return this._headers[name.toLowerCase()]; + } + getHeaders() { + return this._headers; + } + getHeaderNames() { + return Object.keys(this._headers); + } + hasHeader(name) { + return name.toLowerCase() in this._headers; + } + removeHeader(name) { + delete this._headers[name.toLowerCase()]; + } + addTrailers(_headers) { + } + flushHeaders() { + } + writeEarlyHints(_headers, cb) { + if (typeof cb === "function") { + cb(); + } + } +} + +function hasProp(obj, prop) { + try { + return prop in obj; + } catch { + return false; + } +} + +var __defProp$1 = Object.defineProperty; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$1 = (obj, key, value) => { + __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class H3Error extends Error { + constructor(message, opts = {}) { + super(message, opts); + __publicField$1(this, "statusCode", 500); + __publicField$1(this, "fatal", false); + __publicField$1(this, "unhandled", false); + __publicField$1(this, "statusMessage"); + __publicField$1(this, "data"); + __publicField$1(this, "cause"); + if (opts.cause && !this.cause) { + this.cause = opts.cause; + } + } + toJSON() { + const obj = { + message: this.message, + statusCode: sanitizeStatusCode(this.statusCode, 500) + }; + if (this.statusMessage) { + obj.statusMessage = sanitizeStatusMessage(this.statusMessage); + } + if (this.data !== void 0) { + obj.data = this.data; + } + return obj; + } +} +__publicField$1(H3Error, "__h3_error__", true); +function createError$1(input) { + if (typeof input === "string") { + return new H3Error(input); + } + if (isError(input)) { + return input; + } + const err = new H3Error(input.message ?? input.statusMessage ?? "", { + cause: input.cause || input + }); + if (hasProp(input, "stack")) { + try { + Object.defineProperty(err, "stack", { + get() { + return input.stack; + } + }); + } catch { + try { + err.stack = input.stack; + } catch { + } + } + } + if (input.data) { + err.data = input.data; + } + if (input.statusCode) { + err.statusCode = sanitizeStatusCode(input.statusCode, err.statusCode); + } else if (input.status) { + err.statusCode = sanitizeStatusCode(input.status, err.statusCode); + } + if (input.statusMessage) { + err.statusMessage = input.statusMessage; + } else if (input.statusText) { + err.statusMessage = input.statusText; + } + if (err.statusMessage) { + const originalMessage = err.statusMessage; + const sanitizedMessage = sanitizeStatusMessage(err.statusMessage); + if (sanitizedMessage !== originalMessage) { + console.warn( + "[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default." + ); + } + } + if (input.fatal !== void 0) { + err.fatal = input.fatal; + } + if (input.unhandled !== void 0) { + err.unhandled = input.unhandled; + } + return err; +} +function sendError(event, error, debug) { + if (event.handled) { + return; + } + const h3Error = isError(error) ? error : createError$1(error); + const responseBody = { + statusCode: h3Error.statusCode, + statusMessage: h3Error.statusMessage, + stack: [], + data: h3Error.data + }; + if (debug) { + responseBody.stack = (h3Error.stack || "").split("\n").map((l) => l.trim()); + } + if (event.handled) { + return; + } + const _code = Number.parseInt(h3Error.statusCode); + setResponseStatus(event, _code, h3Error.statusMessage); + event.node.res.setHeader("content-type", MIMES.json); + event.node.res.end(JSON.stringify(responseBody, void 0, 2)); +} +function isError(input) { + return input?.constructor?.__h3_error__ === true; +} + +function getQuery(event) { + return getQuery$1(event.path || ""); +} +function isMethod(event, expected, allowHead) { + if (allowHead && event.method === "HEAD") { + return true; + } + if (typeof expected === "string") { + if (event.method === expected) { + return true; + } + } else if (expected.includes(event.method)) { + return true; + } + return false; +} +function assertMethod(event, expected, allowHead) { + if (!isMethod(event, expected, allowHead)) { + throw createError$1({ + statusCode: 405, + statusMessage: "HTTP method is not allowed." + }); + } +} +function getRequestHeaders(event) { + const _headers = {}; + for (const key in event.node.req.headers) { + const val = event.node.req.headers[key]; + _headers[key] = Array.isArray(val) ? val.filter(Boolean).join(", ") : val; + } + return _headers; +} +function getRequestHeader(event, name) { + const headers = getRequestHeaders(event); + const value = headers[name.toLowerCase()]; + return value; +} + +const RawBodySymbol = Symbol.for("h3RawBody"); +const PayloadMethods$1 = ["PATCH", "POST", "PUT", "DELETE"]; +function readRawBody(event, encoding = "utf8") { + assertMethod(event, PayloadMethods$1); + const _rawBody = event._requestBody || event.web?.request?.body || event.node.req[RawBodySymbol] || event.node.req.body; + if (_rawBody) { + const promise2 = Promise.resolve(_rawBody).then((_resolved) => { + if (Buffer.isBuffer(_resolved)) { + return _resolved; + } + if (typeof _resolved.pipeTo === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.pipeTo( + new WritableStream({ + write(chunk) { + chunks.push(chunk); + }, + close() { + resolve(Buffer.concat(chunks)); + }, + abort(reason) { + reject(reason); + } + }) + ).catch(reject); + }); + } else if (typeof _resolved.pipe === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.on("data", (chunk) => { + chunks.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(chunks)); + }).on("error", reject); + }); + } + if (_resolved.constructor === Object) { + return Buffer.from(JSON.stringify(_resolved)); + } + return Buffer.from(_resolved); + }); + return encoding ? promise2.then((buff) => buff.toString(encoding)) : promise2; + } + if (!Number.parseInt(event.node.req.headers["content-length"] || "")) { + return Promise.resolve(void 0); + } + const promise = event.node.req[RawBodySymbol] = new Promise( + (resolve, reject) => { + const bodyData = []; + event.node.req.on("error", (err) => { + reject(err); + }).on("data", (chunk) => { + bodyData.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(bodyData)); + }); + } + ); + const result = encoding ? promise.then((buff) => buff.toString(encoding)) : promise; + return result; +} +function getRequestWebStream(event) { + if (!PayloadMethods$1.includes(event.method)) { + return; + } + return event.web?.request?.body || event._requestBody || new ReadableStream({ + start: (controller) => { + event.node.req.on("data", (chunk) => { + controller.enqueue(chunk); + }); + event.node.req.on("end", () => { + controller.close(); + }); + event.node.req.on("error", (err) => { + controller.error(err); + }); + } + }); +} + +function handleCacheHeaders(event, opts) { + const cacheControls = ["public", ...opts.cacheControls || []]; + let cacheMatched = false; + if (opts.maxAge !== void 0) { + cacheControls.push(`max-age=${+opts.maxAge}`, `s-maxage=${+opts.maxAge}`); + } + if (opts.modifiedTime) { + const modifiedTime = new Date(opts.modifiedTime); + const ifModifiedSince = event.node.req.headers["if-modified-since"]; + event.node.res.setHeader("last-modified", modifiedTime.toUTCString()); + if (ifModifiedSince && new Date(ifModifiedSince) >= opts.modifiedTime) { + cacheMatched = true; + } + } + if (opts.etag) { + event.node.res.setHeader("etag", opts.etag); + const ifNonMatch = event.node.req.headers["if-none-match"]; + if (ifNonMatch === opts.etag) { + cacheMatched = true; + } + } + event.node.res.setHeader("cache-control", cacheControls.join(", ")); + if (cacheMatched) { + event.node.res.statusCode = 304; + if (!event.handled) { + event.node.res.end(); + } + return true; + } + return false; +} + +const MIMES = { + html: "text/html", + json: "application/json" +}; + +const DISALLOWED_STATUS_CHARS = /[^\u0009\u0020-\u007E]/g; +function sanitizeStatusMessage(statusMessage = "") { + return statusMessage.replace(DISALLOWED_STATUS_CHARS, ""); +} +function sanitizeStatusCode(statusCode, defaultStatusCode = 200) { + if (!statusCode) { + return defaultStatusCode; + } + if (typeof statusCode === "string") { + statusCode = Number.parseInt(statusCode, 10); + } + if (statusCode < 100 || statusCode > 999) { + return defaultStatusCode; + } + return statusCode; +} + +function parseCookies(event) { + return parse$1(event.node.req.headers.cookie || ""); +} +function getCookie(event, name) { + return parseCookies(event)[name]; +} +function setCookie(event, name, value, serializeOptions) { + const cookieStr = serialize(name, value, { + path: "/", + ...serializeOptions + }); + let setCookies = event.node.res.getHeader("set-cookie"); + if (!Array.isArray(setCookies)) { + setCookies = [setCookies]; + } + setCookies = setCookies.filter((cookieValue) => { + return cookieValue && !cookieValue.startsWith(name + "="); + }); + event.node.res.setHeader("set-cookie", [...setCookies, cookieStr]); +} +function deleteCookie(event, name, serializeOptions) { + setCookie(event, name, "", { + ...serializeOptions, + maxAge: 0 + }); +} +function splitCookiesString(cookiesString) { + if (Array.isArray(cookiesString)) { + return cookiesString.flatMap((c) => splitCookiesString(c)); + } + if (typeof cookiesString !== "string") { + return []; + } + const cookiesStrings = []; + let pos = 0; + let start; + let ch; + let lastComma; + let nextStart; + let cookiesSeparatorFound; + const skipWhitespace = () => { + while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { + pos += 1; + } + return pos < cookiesString.length; + }; + const notSpecialChar = () => { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + }; + while (pos < cookiesString.length) { + start = pos; + cookiesSeparatorFound = false; + while (skipWhitespace()) { + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while (pos < cookiesString.length && notSpecialChar()) { + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.slice(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.slice(start, cookiesString.length)); + } + } + return cookiesStrings; +} + +const defer = typeof setImmediate === "undefined" ? (fn) => fn() : setImmediate; +function send(event, data, type) { + if (type) { + defaultContentType(event, type); + } + return new Promise((resolve) => { + defer(() => { + if (!event.handled) { + event.node.res.end(data); + } + resolve(); + }); + }); +} +function sendNoContent(event, code) { + if (event.handled) { + return; + } + const _code = sanitizeStatusCode(code, 204); + if (_code === 204) { + event.node.res.removeHeader("content-length"); + } + event.node.res.writeHead(_code); + event.node.res.end(); +} +function setResponseStatus(event, code, text) { + if (code) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + } + if (text) { + event.node.res.statusMessage = sanitizeStatusMessage(text); + } +} +function getResponseStatus(event) { + return event.node.res.statusCode; +} +function getResponseStatusText(event) { + return event.node.res.statusMessage; +} +function defaultContentType(event, type) { + if (type && !event.node.res.getHeader("content-type")) { + event.node.res.setHeader("content-type", type); + } +} +function sendRedirect(event, location, code = 302) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + event.node.res.setHeader("location", location); + const encodedLoc = location.replace(/"/g, "%22"); + const html = ``; + return send(event, html, MIMES.html); +} +function getResponseHeader(event, name) { + return event.node.res.getHeader(name); +} +function setResponseHeaders(event, headers) { + for (const [name, value] of Object.entries(headers)) { + event.node.res.setHeader(name, value); + } +} +const setHeaders = setResponseHeaders; +function setResponseHeader(event, name, value) { + event.node.res.setHeader(name, value); +} +function appendResponseHeader(event, name, value) { + let current = event.node.res.getHeader(name); + if (!current) { + event.node.res.setHeader(name, value); + return; + } + if (!Array.isArray(current)) { + current = [current.toString()]; + } + event.node.res.setHeader(name, [...current, value]); +} +const appendHeader = appendResponseHeader; +function removeResponseHeader(event, name) { + return event.node.res.removeHeader(name); +} +function isStream(data) { + if (!data || typeof data !== "object") { + return false; + } + if (typeof data.pipe === "function") { + if (typeof data._read === "function") { + return true; + } + if (typeof data.abort === "function") { + return true; + } + } + if (typeof data.pipeTo === "function") { + return true; + } + return false; +} +function isWebResponse(data) { + return typeof Response !== "undefined" && data instanceof Response; +} +function sendStream(event, stream) { + if (!stream || typeof stream !== "object") { + throw new Error("[h3] Invalid stream provided."); + } + event.node.res._data = stream; + if (!event.node.res.socket) { + event._handled = true; + return Promise.resolve(); + } + if (hasProp(stream, "pipeTo") && typeof stream.pipeTo === "function") { + return stream.pipeTo( + new WritableStream({ + write(chunk) { + event.node.res.write(chunk); + } + }) + ).then(() => { + event.node.res.end(); + }); + } + if (hasProp(stream, "pipe") && typeof stream.pipe === "function") { + return new Promise((resolve, reject) => { + stream.pipe(event.node.res); + if (stream.on) { + stream.on("end", () => { + event.node.res.end(); + resolve(); + }); + stream.on("error", (error) => { + reject(error); + }); + } + event.node.res.on("close", () => { + if (stream.abort) { + stream.abort(); + } + }); + }); + } + throw new Error("[h3] Invalid or incompatible stream provided."); +} +function sendWebResponse(event, response) { + for (const [key, value] of response.headers) { + if (key === "set-cookie") { + event.node.res.appendHeader(key, splitCookiesString(value)); + } else { + event.node.res.setHeader(key, value); + } + } + if (response.status) { + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + } + if (response.statusText) { + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + } + if (response.redirected) { + event.node.res.setHeader("location", response.url); + } + if (!response.body) { + event.node.res.end(); + return; + } + return sendStream(event, response.body); +} + +const PayloadMethods = /* @__PURE__ */ new Set(["PATCH", "POST", "PUT", "DELETE"]); +const ignoredHeaders = /* @__PURE__ */ new Set([ + "transfer-encoding", + "connection", + "keep-alive", + "upgrade", + "expect", + "host" +]); +async function proxyRequest(event, target, opts = {}) { + let body; + let duplex; + if (PayloadMethods.has(event.method)) { + if (opts.streamRequest) { + body = getRequestWebStream(event); + duplex = "half"; + } else { + body = await readRawBody(event, false).catch(() => void 0); + } + } + const method = opts.fetchOptions?.method || event.method; + const fetchHeaders = mergeHeaders( + getProxyRequestHeaders(event), + opts.fetchOptions?.headers, + opts.headers + ); + return sendProxy(event, target, { + ...opts, + fetchOptions: { + method, + body, + duplex, + ...opts.fetchOptions, + headers: fetchHeaders + } + }); +} +async function sendProxy(event, target, opts = {}) { + const response = await _getFetch(opts.fetch)(target, { + headers: opts.headers, + ignoreResponseError: true, + // make $ofetch.raw transparent + ...opts.fetchOptions + }); + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + const cookies = []; + for (const [key, value] of response.headers.entries()) { + if (key === "content-encoding") { + continue; + } + if (key === "content-length") { + continue; + } + if (key === "set-cookie") { + cookies.push(...splitCookiesString(value)); + continue; + } + event.node.res.setHeader(key, value); + } + if (cookies.length > 0) { + event.node.res.setHeader( + "set-cookie", + cookies.map((cookie) => { + if (opts.cookieDomainRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookieDomainRewrite, + "domain" + ); + } + if (opts.cookiePathRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookiePathRewrite, + "path" + ); + } + return cookie; + }) + ); + } + if (opts.onResponse) { + await opts.onResponse(event, response); + } + if (response._data !== void 0) { + return response._data; + } + if (event.handled) { + return; + } + if (opts.sendStream === false) { + const data = new Uint8Array(await response.arrayBuffer()); + return event.node.res.end(data); + } + if (response.body) { + for await (const chunk of response.body) { + event.node.res.write(chunk); + } + } + return event.node.res.end(); +} +function getProxyRequestHeaders(event) { + const headers = /* @__PURE__ */ Object.create(null); + const reqHeaders = getRequestHeaders(event); + for (const name in reqHeaders) { + if (!ignoredHeaders.has(name)) { + headers[name] = reqHeaders[name]; + } + } + return headers; +} +function fetchWithEvent(event, req, init, options) { + return _getFetch(options?.fetch)(req, { + ...init, + context: init?.context || event.context, + headers: { + ...getProxyRequestHeaders(event), + ...init?.headers + } + }); +} +function _getFetch(_fetch) { + if (_fetch) { + return _fetch; + } + if (globalThis.fetch) { + return globalThis.fetch; + } + throw new Error( + "fetch is not available. Try importing `node-fetch-native/polyfill` for Node.js." + ); +} +function rewriteCookieProperty(header, map, property) { + const _map = typeof map === "string" ? { "*": map } : map; + return header.replace( + new RegExp(`(;\\s*${property}=)([^;]+)`, "gi"), + (match, prefix, previousValue) => { + let newValue; + if (previousValue in _map) { + newValue = _map[previousValue]; + } else if ("*" in _map) { + newValue = _map["*"]; + } else { + return match; + } + return newValue ? prefix + newValue : ""; + } + ); +} +function mergeHeaders(defaults, ...inputs) { + const _inputs = inputs.filter(Boolean); + if (_inputs.length === 0) { + return defaults; + } + const merged = new Headers(defaults); + for (const input of _inputs) { + for (const [key, value] of Object.entries(input)) { + if (value !== void 0) { + merged.set(key, value); + } + } + } + return merged; +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class H3Event { + constructor(req, res) { + __publicField(this, "__is_event__", true); + // Context + __publicField(this, "node"); + // Node + __publicField(this, "web"); + // Web + __publicField(this, "context", {}); + // Shared + // Request + __publicField(this, "_method"); + __publicField(this, "_path"); + __publicField(this, "_headers"); + __publicField(this, "_requestBody"); + // Response + __publicField(this, "_handled", false); + this.node = { req, res }; + } + // --- Request --- + get method() { + if (!this._method) { + this._method = (this.node.req.method || "GET").toUpperCase(); + } + return this._method; + } + get path() { + return this._path || this.node.req.url || "/"; + } + get headers() { + if (!this._headers) { + this._headers = _normalizeNodeHeaders(this.node.req.headers); + } + return this._headers; + } + // --- Respoonse --- + get handled() { + return this._handled || this.node.res.writableEnded || this.node.res.headersSent; + } + respondWith(response) { + return Promise.resolve(response).then( + (_response) => sendWebResponse(this, _response) + ); + } + // --- Utils --- + toString() { + return `[${this.method}] ${this.path}`; + } + toJSON() { + return this.toString(); + } + // --- Deprecated --- + /** @deprecated Please use `event.node.req` instead. **/ + get req() { + return this.node.req; + } + /** @deprecated Please use `event.node.res` instead. **/ + get res() { + return this.node.res; + } +} +function isEvent(input) { + return hasProp(input, "__is_event__"); +} +function createEvent(req, res) { + return new H3Event(req, res); +} +function _normalizeNodeHeaders(nodeHeaders) { + const headers = new Headers(); + for (const [name, value] of Object.entries(nodeHeaders)) { + if (Array.isArray(value)) { + for (const item of value) { + headers.append(name, item); + } + } else if (value) { + headers.set(name, value); + } + } + return headers; +} + +function defineEventHandler(handler) { + if (typeof handler === "function") { + return Object.assign(handler, { __is_handler__: true }); + } + const _hooks = { + onRequest: _normalizeArray(handler.onRequest), + onBeforeResponse: _normalizeArray(handler.onBeforeResponse) + }; + const _handler = (event) => { + return _callHandler(event, handler.handler, _hooks); + }; + return Object.assign(_handler, { __is_handler__: true }); +} +function _normalizeArray(input) { + return input ? Array.isArray(input) ? input : [input] : void 0; +} +async function _callHandler(event, handler, hooks) { + if (hooks.onRequest) { + for (const hook of hooks.onRequest) { + await hook(event); + if (event.handled) { + return; + } + } + } + const body = await handler(event); + const response = { body }; + if (hooks.onBeforeResponse) { + for (const hook of hooks.onBeforeResponse) { + await hook(event, response); + } + } + return response.body; +} +const eventHandler = defineEventHandler; +function isEventHandler(input) { + return hasProp(input, "__is_handler__"); +} +function toEventHandler(input, _, _route) { + if (!isEventHandler(input)) { + console.warn( + "[h3] Implicit event handler conversion is deprecated. Use `eventHandler()` or `fromNodeMiddleware()` to define event handlers.", + _route && _route !== "/" ? ` + Route: ${_route}` : "", + ` + Handler: ${input}` + ); + } + return input; +} +function defineLazyEventHandler(factory) { + let _promise; + let _resolved; + const resolveHandler = () => { + if (_resolved) { + return Promise.resolve(_resolved); + } + if (!_promise) { + _promise = Promise.resolve(factory()).then((r) => { + const handler = r.default || r; + if (typeof handler !== "function") { + throw new TypeError( + "Invalid lazy handler result. It should be a function:", + handler + ); + } + _resolved = toEventHandler(r.default || r); + return _resolved; + }); + } + return _promise; + }; + return eventHandler((event) => { + if (_resolved) { + return _resolved(event); + } + return resolveHandler().then((handler) => handler(event)); + }); +} +const lazyEventHandler = defineLazyEventHandler; + +function createApp(options = {}) { + const stack = []; + const handler = createAppEventHandler(stack, options); + const app = { + // @ts-ignore + use: (arg1, arg2, arg3) => use(app, arg1, arg2, arg3), + handler, + stack, + options + }; + return app; +} +function use(app, arg1, arg2, arg3) { + if (Array.isArray(arg1)) { + for (const i of arg1) { + use(app, i, arg2, arg3); + } + } else if (Array.isArray(arg2)) { + for (const i of arg2) { + use(app, arg1, i, arg3); + } + } else if (typeof arg1 === "string") { + app.stack.push( + normalizeLayer({ ...arg3, route: arg1, handler: arg2 }) + ); + } else if (typeof arg1 === "function") { + app.stack.push( + normalizeLayer({ ...arg2, route: "/", handler: arg1 }) + ); + } else { + app.stack.push(normalizeLayer({ ...arg1 })); + } + return app; +} +function createAppEventHandler(stack, options) { + const spacing = options.debug ? 2 : void 0; + return eventHandler(async (event) => { + event.node.req.originalUrl = event.node.req.originalUrl || event.node.req.url || "/"; + const _reqPath = event._path || event.node.req.url || "/"; + let _layerPath; + if (options.onRequest) { + await options.onRequest(event); + } + for (const layer of stack) { + if (layer.route.length > 1) { + if (!_reqPath.startsWith(layer.route)) { + continue; + } + _layerPath = _reqPath.slice(layer.route.length) || "/"; + } else { + _layerPath = _reqPath; + } + if (layer.match && !layer.match(_layerPath, event)) { + continue; + } + event._path = _layerPath; + event.node.req.url = _layerPath; + const val = await layer.handler(event); + const _body = val === void 0 ? void 0 : await val; + if (_body !== void 0) { + const _response = { body: _body }; + if (options.onBeforeResponse) { + await options.onBeforeResponse(event, _response); + } + await handleHandlerResponse(event, _response.body, spacing); + if (options.onAfterResponse) { + await options.onAfterResponse(event, _response); + } + return; + } + if (event.handled) { + if (options.onAfterResponse) { + await options.onAfterResponse(event, void 0); + } + return; + } + } + if (!event.handled) { + throw createError$1({ + statusCode: 404, + statusMessage: `Cannot find any path matching ${event.path || "/"}.` + }); + } + if (options.onAfterResponse) { + await options.onAfterResponse(event, void 0); + } + }); +} +function normalizeLayer(input) { + let handler = input.handler; + if (handler.handler) { + handler = handler.handler; + } + if (input.lazy) { + handler = lazyEventHandler(handler); + } else if (!isEventHandler(handler)) { + handler = toEventHandler(handler, void 0, input.route); + } + return { + route: withoutTrailingSlash(input.route), + match: input.match, + handler + }; +} +function handleHandlerResponse(event, val, jsonSpace) { + if (val === null) { + return sendNoContent(event); + } + if (val) { + if (isWebResponse(val)) { + return sendWebResponse(event, val); + } + if (isStream(val)) { + return sendStream(event, val); + } + if (val.buffer) { + return send(event, val); + } + if (val.arrayBuffer && typeof val.arrayBuffer === "function") { + return val.arrayBuffer().then((arrayBuffer) => { + return send(event, Buffer.from(arrayBuffer), val.type); + }); + } + if (val instanceof Error) { + throw createError$1(val); + } + if (typeof val.end === "function") { + return true; + } + } + const valType = typeof val; + if (valType === "string") { + return send(event, val, MIMES.html); + } + if (valType === "object" || valType === "boolean" || valType === "number") { + return send(event, JSON.stringify(val, void 0, jsonSpace), MIMES.json); + } + if (valType === "bigint") { + return send(event, val.toString(), MIMES.json); + } + throw createError$1({ + statusCode: 500, + statusMessage: `[h3] Cannot send ${valType} as response.` + }); +} + +const RouterMethods = [ + "connect", + "delete", + "get", + "head", + "options", + "post", + "put", + "trace", + "patch" +]; +function createRouter(opts = {}) { + const _router = createRouter$1({}); + const routes = {}; + let _matcher; + const router = {}; + const addRoute = (path, handler, method) => { + let route = routes[path]; + if (!route) { + routes[path] = route = { path, handlers: {} }; + _router.insert(path, route); + } + if (Array.isArray(method)) { + for (const m of method) { + addRoute(path, handler, m); + } + } else { + route.handlers[method] = toEventHandler(handler, void 0, path); + } + return router; + }; + router.use = router.add = (path, handler, method) => addRoute(path, handler, method || "all"); + for (const method of RouterMethods) { + router[method] = (path, handle) => router.add(path, handle, method); + } + router.handler = eventHandler((event) => { + let path = event.path || "/"; + const qIndex = path.indexOf("?"); + if (qIndex !== -1) { + path = path.slice(0, Math.max(0, qIndex)); + } + const matched = _router.lookup(path); + if (!matched || !matched.handlers) { + if (opts.preemptive || opts.preemtive) { + throw createError$1({ + statusCode: 404, + name: "Not Found", + statusMessage: `Cannot find any route matching ${event.path || "/"}.` + }); + } else { + return; + } + } + const method = (event.node.req.method || "get").toLowerCase(); + let handler = matched.handlers[method] || matched.handlers.all; + if (!handler) { + if (!_matcher) { + _matcher = toRouteMatcher(_router); + } + const _matches = _matcher.matchAll(path).reverse(); + for (const _match of _matches) { + if (_match.handlers[method]) { + handler = _match.handlers[method]; + matched.handlers[method] = matched.handlers[method] || handler; + break; + } + if (_match.handlers.all) { + handler = _match.handlers.all; + matched.handlers.all = matched.handlers.all || handler; + break; + } + } + } + if (!handler) { + if (opts.preemptive || opts.preemtive) { + throw createError$1({ + statusCode: 405, + name: "Method Not Allowed", + statusMessage: `Method ${method} is not allowed on this route.` + }); + } else { + return; + } + } + event.context.matchedRoute = matched; + const params = matched.params || {}; + event.context.params = params; + return Promise.resolve(handler(event)).then((res) => { + if (res === void 0 && (opts.preemptive || opts.preemtive)) { + return null; + } + return res; + }); + }); + return router; +} +function toNodeListener(app) { + const toNodeHandle = async function(req, res) { + const event = createEvent(req, res); + try { + await app.handler(event); + } catch (_error) { + const error = createError$1(_error); + if (!isError(_error)) { + error.unhandled = true; + } + if (app.options.onError) { + await app.options.onError(error, event); + } + if (event.handled) { + return; + } + if (error.unhandled || error.fatal) { + console.error("[h3]", error.fatal ? "[fatal]" : "[unhandled]", error); + } + await sendError(event, error, !!app.options.debug); + } + }; + return toNodeHandle; +} + +const s=globalThis.Headers,i=globalThis.AbortController,l=globalThis.fetch||(()=>{throw new Error("[node-fetch-native] Failed to fetch: `globalThis.fetch` is not available!")}); + +class FetchError extends Error { + constructor(message, opts) { + super(message, opts); + this.name = "FetchError"; + if (opts?.cause && !this.cause) { + this.cause = opts.cause; + } + } +} +function createFetchError(ctx) { + const errorMessage = ctx.error?.message || ctx.error?.toString() || ""; + const method = ctx.request?.method || ctx.options?.method || "GET"; + const url = ctx.request?.url || String(ctx.request) || "/"; + const requestStr = `[${method}] ${JSON.stringify(url)}`; + const statusStr = ctx.response ? `${ctx.response.status} ${ctx.response.statusText}` : ""; + const message = `${requestStr}: ${statusStr}${errorMessage ? ` ${errorMessage}` : ""}`; + const fetchError = new FetchError( + message, + ctx.error ? { cause: ctx.error } : void 0 + ); + for (const key of ["request", "options", "response"]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx[key]; + } + }); + } + for (const [key, refKey] of [ + ["data", "_data"], + ["status", "status"], + ["statusCode", "status"], + ["statusText", "statusText"], + ["statusMessage", "statusText"] + ]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx.response && ctx.response[refKey]; + } + }); + } + return fetchError; +} + +const payloadMethods = new Set( + Object.freeze(["PATCH", "POST", "PUT", "DELETE"]) +); +function isPayloadMethod(method = "GET") { + return payloadMethods.has(method.toUpperCase()); +} +function isJSONSerializable(value) { + if (value === void 0) { + return false; + } + const t = typeof value; + if (t === "string" || t === "number" || t === "boolean" || t === null) { + return true; + } + if (t !== "object") { + return false; + } + if (Array.isArray(value)) { + return true; + } + if (value.buffer) { + return false; + } + return value.constructor && value.constructor.name === "Object" || typeof value.toJSON === "function"; +} +const textTypes = /* @__PURE__ */ new Set([ + "image/svg", + "application/xml", + "application/xhtml", + "application/html" +]); +const JSON_RE = /^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i; +function detectResponseType(_contentType = "") { + if (!_contentType) { + return "json"; + } + const contentType = _contentType.split(";").shift() || ""; + if (JSON_RE.test(contentType)) { + return "json"; + } + if (textTypes.has(contentType) || contentType.startsWith("text/")) { + return "text"; + } + return "blob"; +} +function mergeFetchOptions(input, defaults, Headers = globalThis.Headers) { + const merged = { + ...defaults, + ...input + }; + if (defaults?.params && input?.params) { + merged.params = { + ...defaults?.params, + ...input?.params + }; + } + if (defaults?.query && input?.query) { + merged.query = { + ...defaults?.query, + ...input?.query + }; + } + if (defaults?.headers && input?.headers) { + merged.headers = new Headers(defaults?.headers || {}); + for (const [key, value] of new Headers(input?.headers || {})) { + merged.headers.set(key, value); + } + } + return merged; +} + +const retryStatusCodes = /* @__PURE__ */ new Set([ + 408, + // Request Timeout + 409, + // Conflict + 425, + // Too Early + 429, + // Too Many Requests + 500, + // Internal Server Error + 502, + // Bad Gateway + 503, + // Service Unavailable + 504 + // Gateway Timeout +]); +const nullBodyResponses$1 = /* @__PURE__ */ new Set([101, 204, 205, 304]); +function createFetch$1(globalOptions = {}) { + const { + fetch = globalThis.fetch, + Headers = globalThis.Headers, + AbortController = globalThis.AbortController + } = globalOptions; + async function onError(context) { + const isAbort = context.error && context.error.name === "AbortError" && !context.options.timeout || false; + if (context.options.retry !== false && !isAbort) { + let retries; + if (typeof context.options.retry === "number") { + retries = context.options.retry; + } else { + retries = isPayloadMethod(context.options.method) ? 0 : 1; + } + const responseCode = context.response && context.response.status || 500; + if (retries > 0 && (Array.isArray(context.options.retryStatusCodes) ? context.options.retryStatusCodes.includes(responseCode) : retryStatusCodes.has(responseCode))) { + const retryDelay = context.options.retryDelay || 0; + if (retryDelay > 0) { + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + } + return $fetchRaw(context.request, { + ...context.options, + retry: retries - 1, + timeout: context.options.timeout + }); + } + } + const error = createFetchError(context); + if (Error.captureStackTrace) { + Error.captureStackTrace(error, $fetchRaw); + } + throw error; + } + const $fetchRaw = async function $fetchRaw2(_request, _options = {}) { + const context = { + request: _request, + options: mergeFetchOptions(_options, globalOptions.defaults, Headers), + response: void 0, + error: void 0 + }; + context.options.method = context.options.method?.toUpperCase(); + if (context.options.onRequest) { + await context.options.onRequest(context); + } + if (typeof context.request === "string") { + if (context.options.baseURL) { + context.request = withBase(context.request, context.options.baseURL); + } + if (context.options.query || context.options.params) { + context.request = withQuery(context.request, { + ...context.options.params, + ...context.options.query + }); + } + } + if (context.options.body && isPayloadMethod(context.options.method)) { + if (isJSONSerializable(context.options.body)) { + context.options.body = typeof context.options.body === "string" ? context.options.body : JSON.stringify(context.options.body); + context.options.headers = new Headers(context.options.headers || {}); + if (!context.options.headers.has("content-type")) { + context.options.headers.set("content-type", "application/json"); + } + if (!context.options.headers.has("accept")) { + context.options.headers.set("accept", "application/json"); + } + } else if ( + // ReadableStream Body + "pipeTo" in context.options.body && typeof context.options.body.pipeTo === "function" || // Node.js Stream Body + typeof context.options.body.pipe === "function" + ) { + if (!("duplex" in context.options)) { + context.options.duplex = "half"; + } + } + } + if (!context.options.signal && context.options.timeout) { + const controller = new AbortController(); + setTimeout(() => controller.abort(), context.options.timeout); + context.options.signal = controller.signal; + } + try { + context.response = await fetch( + context.request, + context.options + ); + } catch (error) { + context.error = error; + if (context.options.onRequestError) { + await context.options.onRequestError(context); + } + return await onError(context); + } + const hasBody = context.response.body && !nullBodyResponses$1.has(context.response.status) && context.options.method !== "HEAD"; + if (hasBody) { + const responseType = (context.options.parseResponse ? "json" : context.options.responseType) || detectResponseType(context.response.headers.get("content-type") || ""); + switch (responseType) { + case "json": { + const data = await context.response.text(); + const parseFunction = context.options.parseResponse || destr; + context.response._data = parseFunction(data); + break; + } + case "stream": { + context.response._data = context.response.body; + break; + } + default: { + context.response._data = await context.response[responseType](); + } + } + } + if (context.options.onResponse) { + await context.options.onResponse(context); + } + if (!context.options.ignoreResponseError && context.response.status >= 400 && context.response.status < 600) { + if (context.options.onResponseError) { + await context.options.onResponseError(context); + } + return await onError(context); + } + return context.response; + }; + const $fetch = async function $fetch2(request, options) { + const r = await $fetchRaw(request, options); + return r._data; + }; + $fetch.raw = $fetchRaw; + $fetch.native = (...args) => fetch(...args); + $fetch.create = (defaultOptions = {}) => createFetch$1({ + ...globalOptions, + defaults: { + ...globalOptions.defaults, + ...defaultOptions + } + }); + return $fetch; +} + +function createNodeFetch() { + const useKeepAlive = JSON.parse(process.env.FETCH_KEEP_ALIVE || "false"); + if (!useKeepAlive) { + return l; + } + const agentOptions = { keepAlive: true }; + const httpAgent = new http.Agent(agentOptions); + const httpsAgent = new https.Agent(agentOptions); + const nodeFetchOptions = { + agent(parsedURL) { + return parsedURL.protocol === "http:" ? httpAgent : httpsAgent; + } + }; + return function nodeFetchWithKeepAlive(input, init) { + return l(input, { ...nodeFetchOptions, ...init }); + }; +} +const fetch = globalThis.fetch || createNodeFetch(); +const Headers$1 = globalThis.Headers || s; +const AbortController = globalThis.AbortController || i; +const ofetch = createFetch$1({ fetch, Headers: Headers$1, AbortController }); +const $fetch$1 = ofetch; + +const nullBodyResponses = /* @__PURE__ */ new Set([101, 204, 205, 304]); +function createCall(handle) { + return function callHandle(context) { + const req = new IncomingMessage(); + const res = new ServerResponse(req); + req.url = context.url || "/"; + req.method = context.method || "GET"; + req.headers = {}; + if (context.headers) { + const headerEntries = typeof context.headers.entries === "function" ? context.headers.entries() : Object.entries(context.headers); + for (const [name, value] of headerEntries) { + if (!value) { + continue; + } + req.headers[name.toLowerCase()] = value; + } + } + req.headers.host = req.headers.host || context.host || "localhost"; + req.connection.encrypted = // @ts-ignore + req.connection.encrypted || context.protocol === "https"; + req.body = context.body || null; + req.__unenv__ = context.context; + return handle(req, res).then(() => { + let body = res._data; + if (nullBodyResponses.has(res.statusCode) || req.method.toUpperCase() === "HEAD") { + body = null; + delete res._headers["content-length"]; + } + const r = { + body, + headers: res._headers, + status: res.statusCode, + statusText: res.statusMessage + }; + req.destroy(); + res.destroy(); + return r; + }); + }; +} + +function createFetch(call, _fetch = global.fetch) { + return async function ufetch(input, init) { + const url = input.toString(); + if (!url.startsWith("/")) { + return _fetch(url, init); + } + try { + const r = await call({ url, ...init }); + return new Response(r.body, { + status: r.status, + statusText: r.statusText, + headers: Object.fromEntries( + Object.entries(r.headers).map(([name, value]) => [ + name, + Array.isArray(value) ? value.join(",") : String(value) || "" + ]) + ) + }); + } catch (error) { + return new Response(error.toString(), { + status: Number.parseInt(error.statusCode || error.code) || 500, + statusText: error.statusText + }); + } + }; +} + +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) { + flatHooks(subHook, hooks, name); + } else if (typeof subHook === "function") { + hooks[name] = subHook; + } + } + return hooks; +} +const defaultTask = { run: (function_) => function_() }; +const _createTask = () => defaultTask; +const createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; +function serialTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return hooks.reduce( + (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), + Promise.resolve() + ); +} +function parallelTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) { + callback(arg0); + } +} + +class Hookable { + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") { + return () => { + }; + } + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) { + message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + } + if (!this._deprecatedMessages) { + this._deprecatedMessages = /* @__PURE__ */ new Set(); + } + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) { + try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch { + } + } + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") { + _unreg(); + } + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + if (this._hooks[name]) { + const index = this._hooks[name].indexOf(function_); + if (index !== -1) { + this._hooks[name].splice(index, 1); + } + if (this._hooks[name].length === 0) { + delete this._hooks[name]; + } + } + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + delete this._hooks[name]; + for (const hook of _hooks) { + this.hook(name, hook); + } + } + deprecateHooks(deprecatedHooks) { + Object.assign(this._deprecatedHooks, deprecatedHooks); + for (const name in deprecatedHooks) { + this.deprecateHook(name, deprecatedHooks[name]); + } + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map( + (key) => this.hook(key, hooks[key]) + ); + return () => { + for (const unreg of removeFns.splice(0, removeFns.length)) { + unreg(); + } + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) { + this.removeHook(key, hooks[key]); + } + } + removeAllHooks() { + for (const key in this._hooks) { + delete this._hooks[key]; + } + } + callHook(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(serialTaskCaller, name, ...arguments_); + } + callHookParallel(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(parallelTaskCaller, name, ...arguments_); + } + callHookWith(caller, name, ...arguments_) { + const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0; + if (this._before) { + callEachWith(this._before, event); + } + const result = caller( + name in this._hooks ? [...this._hooks[name]] : [], + arguments_ + ); + if (result instanceof Promise) { + return result.finally(() => { + if (this._after && event) { + callEachWith(this._after, event); + } + }); + } + if (this._after && event) { + callEachWith(this._after, event); + } + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) { + this._before.splice(index, 1); + } + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) { + this._after.splice(index, 1); + } + } + }; + } +} +function createHooks() { + return new Hookable(); +} + +const NUMBER_CHAR_RE = /\d/; +const STR_SPLITTERS = ["-", "_", "/", "."]; +function isUppercase(char = "") { + if (NUMBER_CHAR_RE.test(char)) { + return void 0; + } + return char.toUpperCase() === char; +} +function splitByCase(string_, separators) { + const splitters = separators ?? STR_SPLITTERS; + const parts = []; + if (!string_ || typeof string_ !== "string") { + return parts; + } + let buff = ""; + let previousUpper; + let previousSplitter; + for (const char of string_) { + const isSplitter = splitters.includes(char); + if (isSplitter === true) { + parts.push(buff); + buff = ""; + previousUpper = void 0; + continue; + } + const isUpper = isUppercase(char); + if (previousSplitter === false) { + if (previousUpper === false && isUpper === true) { + parts.push(buff); + buff = char; + previousUpper = isUpper; + continue; + } + if (previousUpper === true && isUpper === false && buff.length > 1) { + const lastChar = buff[buff.length - 1]; + parts.push(buff.slice(0, Math.max(0, buff.length - 1))); + buff = lastChar + char; + previousUpper = isUpper; + continue; + } + } + buff += char; + previousUpper = isUpper; + previousSplitter = isSplitter; + } + parts.push(buff); + return parts; +} +function upperFirst(string_) { + return !string_ ? "" : string_[0].toUpperCase() + string_.slice(1); +} +function lowerFirst(string_) { + return !string_ ? "" : string_[0].toLowerCase() + string_.slice(1); +} +function pascalCase(string_) { + return !string_ ? "" : (Array.isArray(string_) ? string_ : splitByCase(string_)).map((p) => upperFirst(p)).join(""); +} +function camelCase(string_) { + return lowerFirst(pascalCase(string_)); +} +function kebabCase(string_, joiner) { + return !string_ ? "" : (Array.isArray(string_) ? string_ : splitByCase(string_)).map((p) => p.toLowerCase()).join(joiner ?? "-"); +} +function snakeCase(string_) { + return kebabCase(string_, "_"); +} + +function klona(x) { + if (typeof x !== 'object') return x; + + var k, tmp, str=Object.prototype.toString.call(x); + + if (str === '[object Object]') { + if (x.constructor !== Object && typeof x.constructor === 'function') { + tmp = new x.constructor(); + for (k in x) { + if (x.hasOwnProperty(k) && tmp[k] !== x[k]) { + tmp[k] = klona(x[k]); + } + } + } else { + tmp = {}; // null + for (k in x) { + if (k === '__proto__') { + Object.defineProperty(tmp, k, { + value: klona(x[k]), + configurable: true, + enumerable: true, + writable: true, + }); + } else { + tmp[k] = klona(x[k]); + } + } + } + return tmp; + } + + if (str === '[object Array]') { + k = x.length; + for (tmp=Array(k); k--;) { + tmp[k] = klona(x[k]); + } + return tmp; + } + + if (str === '[object Set]') { + tmp = new Set; + x.forEach(function (val) { + tmp.add(klona(val)); + }); + return tmp; + } + + if (str === '[object Map]') { + tmp = new Map; + x.forEach(function (val, key) { + tmp.set(klona(key), klona(val)); + }); + return tmp; + } + + if (str === '[object Date]') { + return new Date(+x); + } + + if (str === '[object RegExp]') { + tmp = new RegExp(x.source, x.flags); + tmp.lastIndex = x.lastIndex; + return tmp; + } + + if (str === '[object DataView]') { + return new x.constructor( klona(x.buffer) ); + } + + if (str === '[object ArrayBuffer]') { + return x.slice(0); + } + + // ArrayBuffer.isView(x) + // ~> `new` bcuz `Buffer.slice` => ref + if (str.slice(-6) === 'Array]') { + return new x.constructor(x); + } + + return x; +} + +const defineAppConfig = (config) => config; + +const appConfig0 = defineAppConfig({ + docus: { + title: "setup.md", + description: "Your open source Minecraft administration wiki.", + image: "", + socials: { + github: "setupmd/docs", + discord: { + label: "Discord", + icon: "simple-icons:discord", + href: "https://link.setup.md/discord" + } + }, + github: { + dir: ".starters/default/content", + branch: "v3-nuxt", + repo: "docs", + owner: "setupmd", + edit: true + }, + aside: { + level: 0, + collapsed: false, + exclude: [] + }, + main: { + padded: true, + fluid: true + }, + header: { + logo: true, + showLinkIcon: true, + exclude: [], + fluid: true + } + } +}); + +const appConfig1 = defineAppConfig({ + docus: { + title: "Docus", + description: "The best place to start your documentation.", + url: "https://docus.dev", + image: "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + socials: {}, + layout: "default", + header: { + title: "", + logo: false, + showLinkIcon: false, + fluid: false, + exclude: [] + }, + aside: { + level: 0, + collapsed: false, + exclude: [] + }, + footer: { + credits: { + icon: "IconDocus", + text: "Powered by Docus", + href: "https://docus.dev" + }, + textLinks: [], + iconLinks: [], + fluid: false + }, + github: { + dir: void 0, + branch: void 0, + repo: void 0, + owner: void 0, + edit: false + } + } +}); + +const appConfig2 = defineAppConfig({ + prose: { + copyButton: { + iconCopy: "ph:copy", + iconCopied: "ph:check" + }, + headings: { + icon: "ph:link" + } + } +}); + +const appConfig3 = defineAppConfig({}); + +const inlineAppConfig = { + "nuxt": { + "buildId": "5fa87f2e-a1c2-4b3c-baf6-edbda8e44a66" + } +}; + +const appConfig = defuFn(appConfig0, appConfig1, appConfig2, appConfig3, inlineAppConfig); + +const _inlineRuntimeConfig = { + "app": { + "baseURL": "/", + "buildAssetsDir": "/_nuxt/", + "cdnURL": "" + }, + "nitro": { + "envPrefix": "NUXT_", + "routeRules": { + "/__nuxt_error": { + "cache": false + }, + "/api/search": { + "prerender": true, + "cache": true + }, + "/_nuxt/builds/meta/**": { + "headers": { + "cache-control": "public, max-age=31536000, immutable" + } + }, + "/_nuxt/builds/**": { + "headers": { + "cache-control": "public, max-age=1, immutable" + } + }, + "/_nuxt/**": { + "headers": { + "cache-control": "public, max-age=31536000, immutable" + } + } + } + }, + "public": { + "studio": { + "apiURL": "https://api.nuxt.studio" + }, + "mdc": { + "components": { + "prose": true, + "map": { + "p": "prose-p", + "a": "prose-a", + "blockquote": "prose-blockquote", + "code-inline": "prose-code-inline", + "code": "ProseCodeInline", + "em": "prose-em", + "h1": "prose-h1", + "h2": "prose-h2", + "h3": "prose-h3", + "h4": "prose-h4", + "h5": "prose-h5", + "h6": "prose-h6", + "hr": "prose-hr", + "img": "prose-img", + "ul": "prose-ul", + "ol": "prose-ol", + "li": "prose-li", + "strong": "prose-strong", + "table": "prose-table", + "thead": "prose-thead", + "tbody": "prose-tbody", + "td": "prose-td", + "th": "prose-th", + "tr": "prose-tr" + } + }, + "headings": { + "anchorLinks": { + "h1": false, + "h2": true, + "h3": true, + "h4": true, + "h5": false, + "h6": false + } + } + }, + "content": { + "locales": [], + "defaultLocale": "", + "integrity": 1698695069955, + "experimental": { + "stripQueryParameters": false, + "advanceQuery": false, + "clientDB": false + }, + "respectPathCase": false, + "api": { + "baseURL": "/api/_content" + }, + "navigation": { + "fields": [ + "icon", + "titleTemplate", + "header", + "main", + "aside", + "footer", + "layout" + ] + }, + "tags": { + "p": "prose-p", + "a": "prose-a", + "blockquote": "prose-blockquote", + "code-inline": "prose-code-inline", + "code": "ProseCodeInline", + "em": "prose-em", + "h1": "prose-h1", + "h2": "prose-h2", + "h3": "prose-h3", + "h4": "prose-h4", + "h5": "prose-h5", + "h6": "prose-h6", + "hr": "prose-hr", + "img": "prose-img", + "ul": "prose-ul", + "ol": "prose-ol", + "li": "prose-li", + "strong": "prose-strong", + "table": "prose-table", + "thead": "prose-thead", + "tbody": "prose-tbody", + "td": "prose-td", + "th": "prose-th", + "tr": "prose-tr" + }, + "highlight": { + "theme": { + "dark": "github-dark", + "default": "github-light" + }, + "preload": [ + "json", + "js", + "ts", + "html", + "css", + "vue", + "diff", + "shell", + "markdown", + "yaml", + "bash", + "ini" + ] + }, + "wsUrl": "", + "documentDriven": { + "page": true, + "navigation": true, + "surround": true, + "globals": {}, + "layoutFallbacks": [ + "theme" + ], + "injectPage": true + }, + "host": "", + "trailingSlash": false, + "search": "", + "contentHead": true, + "anchorLinks": { + "depth": 4, + "exclude": [ + 1 + ] + } + } + }, + "pinceau": { + "studio": true, + "outputDir": "/Users/danielsmith/Documents/GitHub/docs/.nuxt/pinceau/" + }, + "studio": { + "publicToken": "" + }, + "mdc": { + "highlight": { + "theme": { + "dark": "github-dark", + "default": "github-light" + }, + "preload": [ + "json", + "js", + "ts", + "html", + "css", + "vue", + "diff", + "shell", + "markdown", + "yaml", + "bash", + "ini" + ], + "wrapperStyle": "" + } + }, + "content": { + "cacheVersion": 2, + "cacheIntegrity": "4q9TnkKRqO", + "transformers": [], + "base": "", + "api": { + "baseURL": "/api/_content" + }, + "watch": { + "ws": { + "port": { + "port": 4000, + "portRange": [ + 4000, + 4040 + ] + }, + "hostname": "localhost", + "showURL": false + } + }, + "sources": {}, + "ignores": [], + "locales": [], + "defaultLocale": "", + "highlight": { + "theme": { + "dark": "github-dark", + "default": "github-light" + }, + "preload": [ + "json", + "js", + "ts", + "html", + "css", + "vue", + "diff", + "shell", + "markdown", + "yaml", + "bash", + "ini" + ] + }, + "markdown": { + "tags": { + "p": "prose-p", + "a": "prose-a", + "blockquote": "prose-blockquote", + "code-inline": "prose-code-inline", + "code": "ProseCodeInline", + "em": "prose-em", + "h1": "prose-h1", + "h2": "prose-h2", + "h3": "prose-h3", + "h4": "prose-h4", + "h5": "prose-h5", + "h6": "prose-h6", + "hr": "prose-hr", + "img": "prose-img", + "ul": "prose-ul", + "ol": "prose-ol", + "li": "prose-li", + "strong": "prose-strong", + "table": "prose-table", + "thead": "prose-thead", + "tbody": "prose-tbody", + "td": "prose-td", + "th": "prose-th", + "tr": "prose-tr" + }, + "anchorLinks": { + "depth": 4, + "exclude": [ + 1 + ] + }, + "remarkPlugins": {}, + "rehypePlugins": {} + }, + "yaml": {}, + "csv": { + "delimeter": ",", + "json": true + }, + "navigation": { + "fields": [ + "icon", + "titleTemplate", + "header", + "main", + "aside", + "footer", + "layout" + ] + }, + "contentHead": true, + "documentDriven": true, + "respectPathCase": false, + "experimental": { + "clientDB": false, + "stripQueryParameters": false, + "advanceQuery": false, + "search": "" + } + }, + "appConfigSchema": { + "properties": { + "id": "#appConfig", + "properties": { + "nuxtIcon": { + "title": "Nuxt Icon", + "description": "Configure the defaults of Nuxt Icon", + "id": "#appConfig/nuxtIcon", + "properties": { + "size": { + "title": "Icon Size", + "description": "Set the default icon size. Set to false to disable the sizing of icon in style.", + "tags": [ + "@studioIcon material-symbols:format-size-rounded" + ], + "tsType": "string | false", + "id": "#appConfig/nuxtIcon/size", + "default": "1em", + "type": "string" + }, + "class": { + "title": "CSS Class", + "description": "Set the default CSS class", + "tags": [ + "@studioIcon material-symbols:css" + ], + "id": "#appConfig/nuxtIcon/class", + "default": "", + "type": "string" + }, + "aliases": { + "title": "Icon aliases", + "description": "Define Icon aliases to update them easily without code changes.", + "tags": [ + "@studioIcon material-symbols:star-rounded", + "@studioInputObjectValueType icon" + ], + "tsType": "{ [alias: string]: string }", + "id": "#appConfig/nuxtIcon/aliases", + "default": {}, + "type": "object" + } + }, + "type": "object", + "default": { + "size": "1em", + "class": "", + "aliases": {} + } + }, + "prose": { + "title": "Prose configuration from Nuxt Typography", + "description": "", + "tags": [ + "@studioIcon material-symbols:short-text-rounded", + "@studioInput icon" + ], + "id": "#appConfig/prose", + "properties": { + "copyButton": { + "title": "Copy button (used in code blocks)", + "description": "", + "tags": [ + "@studioIcon material-symbols:content-copy" + ], + "id": "#appConfig/prose/copyButton", + "properties": { + "iconCopy": { + "title": "Icon displayed to copy", + "description": "", + "tags": [], + "id": "#appConfig/prose/copyButton/iconCopy", + "default": "ph:copy", + "type": "string" + }, + "iconCopied": { + "title": "Icon displayed when copied", + "description": "", + "tags": [], + "id": "#appConfig/prose/copyButton/iconCopied", + "default": "ph:check", + "type": "string" + } + }, + "type": "object", + "default": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + } + }, + "headings": { + "title": "Default configuration for all headings (h1, h2, h3, h4, h5 and h6)", + "description": "", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/prose/headings", + "properties": { + "icon": { + "title": "Default icon for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/headings/icon", + "default": "ph:link", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "ph:link" + } + }, + "h1": { + "title": "First heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h1" + ], + "id": "#appConfig/prose/h1", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h1/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h2": { + "title": "Second heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h2" + ], + "id": "#appConfig/prose/h2", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h2/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h3": { + "title": "Third heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h3" + ], + "id": "#appConfig/prose/h3", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h3/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h4": { + "title": "Fourth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h4" + ], + "id": "#appConfig/prose/h4", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h4/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h5": { + "title": "Fifth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h5" + ], + "id": "#appConfig/prose/h5", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h5/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h6": { + "title": "Sixth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h6" + ], + "id": "#appConfig/prose/h6", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h6/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + } + }, + "type": "object", + "default": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + } + }, + "docus": { + "title": "Docus theme configuration.", + "description": "", + "tags": [ + "@studioIcon material-symbols:docs" + ], + "id": "#appConfig/docus", + "properties": { + "title": { + "title": "Website title, used as header default title and meta title.", + "description": "", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/docus/title", + "default": "Docus", + "type": "string" + }, + "titleTemplate": { + "title": "The website title template, to overwrite the default one.", + "description": "", + "tags": [], + "id": "#appConfig/docus/titleTemplate", + "default": "%s · Docus", + "type": "string" + }, + "description": { + "title": "Website description, used for meta description.", + "description": "", + "tags": [ + "@studioIcon material-symbols:description" + ], + "id": "#appConfig/docus/description", + "default": "The best place to start your documentation.", + "type": "string" + }, + "image": { + "title": "Cover image.", + "description": "", + "tags": [ + "@example '/cover.jpg'", + "@studioIcon dashicons:cover-image", + "@studioInput file" + ], + "id": "#appConfig/docus/image", + "default": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "type": "string" + }, + "socials": { + "title": "Social links", + "description": "Will be used in AppSocialIcons component.", + "tags": [ + "@studioIcon material-symbols:share-outline" + ], + "id": "#appConfig/docus/socials", + "properties": { + "twitter": { + "title": "Twitter social handle", + "description": "", + "tags": [ + "@example 'nuxt_js'", + "@studioIcon simple-icons:twitter" + ], + "id": "#appConfig/docus/socials/twitter", + "default": "", + "type": "string" + }, + "github": { + "title": "GitHub org or repository", + "description": "", + "tags": [ + "@example 'nuxt/framework'", + "@studioIcon simple-icons:github" + ], + "id": "#appConfig/docus/socials/github", + "default": "", + "type": "string" + }, + "facebook": { + "title": "Facebook page url", + "description": "", + "tags": [ + "@example https://www.facebook.com/groups/nuxtjs", + "@studioIcon simple-icons:facebook" + ], + "id": "#appConfig/docus/socials/facebook", + "default": "", + "type": "string" + }, + "instagram": { + "title": "Instagram page url", + "description": "", + "tags": [ + "@example https://www.instagram.com/wearenuxt", + "@studioIcon simple-icons:instagram" + ], + "id": "#appConfig/docus/socials/instagram", + "default": "", + "type": "string" + }, + "tiktok": { + "title": "Instagram page url", + "description": "", + "tags": [ + "@example https://www.youtube.com/@NuxtLabs", + "@studioIcon simple-icons:youtube" + ], + "id": "#appConfig/docus/socials/tiktok", + "default": "", + "type": "string" + }, + "youtube": { + "title": "TikTok page url", + "description": "", + "tags": [ + "@example https://www.tiktok.com/@tiktok", + "@studioIcon simple-icons:tiktok" + ], + "id": "#appConfig/docus/socials/youtube", + "default": "", + "type": "string" + }, + "medium": { + "title": "Medium page url", + "description": "", + "tags": [ + "@example https://medium.com/nuxt", + "@studioIcon simple-icons:medium" + ], + "id": "#appConfig/docus/socials/medium", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "tiktok": "", + "youtube": "", + "medium": "" + } + }, + "layout": { + "title": "Theme layout configuration.", + "description": "", + "tags": [ + "@studioIcon tabler:arrow-autofit-width" + ], + "tsType": "'default'|'page'", + "id": "#appConfig/docus/layout", + "default": "default", + "type": "string" + }, + "aside": { + "title": "Aside navigation configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-page-24-regular" + ], + "id": "#appConfig/docus/aside", + "properties": { + "level": { + "title": "Aside navigation level", + "description": "Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.", + "tags": [], + "id": "#appConfig/docus/aside/level", + "default": 0, + "type": "number" + }, + "collapsed": { + "title": "Specify if default collapsibles state globally for aside navigation.", + "description": "", + "tags": [], + "id": "#appConfig/docus/aside/collapsed", + "default": false, + "type": "boolean" + }, + "exclude": { + "title": "Paths to be excluded from aside navigation.", + "description": "", + "tags": [], + "tsType": "string[]", + "id": "#appConfig/docus/aside/exclude", + "default": [], + "type": "array", + "items": { + "type": "any" + } + } + }, + "type": "object", + "default": { + "level": 0, + "collapsed": false, + "exclude": [] + } + }, + "header": { + "title": "Header configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-header-24-regular" + ], + "id": "#appConfig/docus/header", + "properties": { + "title": { + "title": "Website title", + "description": "Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/docus/header/title", + "default": "", + "type": "string" + }, + "logo": { + "title": "Logo configuration", + "description": "Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.\nObject that sets the light and dark logos.", + "tags": [ + "@example 'MyLogo'", + "@studioInput boolean" + ], + "tsType": "boolean|string|{dark: string, light: string}", + "id": "#appConfig/docus/header/logo", + "default": false, + "type": "boolean" + }, + "showLinkIcon": { + "title": "Header links", + "description": "Toggle links icons in the header.", + "tags": [], + "id": "#appConfig/docus/header/showLinkIcon", + "default": false, + "type": "boolean" + }, + "exclude": { + "title": "Paths to be excluded from header links.", + "description": "", + "tags": [], + "tsType": "string[]", + "id": "#appConfig/docus/header/exclude", + "default": [], + "type": "array", + "items": { + "type": "any" + } + }, + "fluid": { + "title": "Makes the content of the header fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/header/fluid", + "default": false, + "type": "boolean" + } + }, + "type": "object", + "default": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + } + }, + "main": { + "title": "Main content configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-header-footer-24-filled" + ], + "id": "#appConfig/docus/main", + "properties": { + "fluid": { + "title": "Makes the content of the main container fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/main/fluid", + "default": false, + "type": "boolean" + }, + "padded": { + "title": "Makes the content of the main container padded.", + "description": "", + "tags": [], + "id": "#appConfig/docus/main/padded", + "default": true, + "type": "boolean" + } + }, + "type": "object", + "default": { + "fluid": false, + "padded": true + } + }, + "footer": { + "title": "Footer configuration", + "description": "", + "tags": [ + "@studioIcon fluent:document-footer-24-regular" + ], + "id": "#appConfig/docus/footer", + "properties": { + "credits": { + "title": "Website credits configuration.", + "description": "", + "tags": [ + "@studioIcon material-symbols:copyright" + ], + "tsType": "false|{icon: string, text: string, href: string}", + "id": "#appConfig/docus/footer/credits", + "properties": { + "icon": { + "title": "Icon to show on credits", + "description": "", + "tags": [ + "@formtype Icon" + ], + "id": "#appConfig/docus/footer/credits/icon", + "default": "IconDocus", + "type": "string" + }, + "text": { + "type": "string", + "id": "#appConfig/docus/footer/credits/text", + "default": "Powered by Docus" + }, + "href": { + "type": "string", + "id": "#appConfig/docus/footer/credits/href", + "default": "https://docus.dev" + } + }, + "type": "object", + "default": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + } + }, + "textLinks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "text", + "href" + ], + "properties": { + "href": { + "type": "string", + "description": "URL when clicking the link" + }, + "text": { + "type": "string", + "description": "Text of the link" + }, + "target": { + "type": "string", + "description": "Target attribute of the link" + }, + "rel": { + "type": "string", + "description": "Rel attribute of the link" + } + } + }, + "title": "Text links", + "description": "Will be added into center section of the footer.", + "tags": [ + "@studioIcon material-symbols:add-link" + ], + "id": "#appConfig/docus/footer/textLinks" + }, + "iconLinks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "icon", + "href" + ], + "properties": { + "icon": { + "type": "string", + "description": "Icon name" + }, + "href": { + "type": "string", + "description": "Link when clicking on the icon" + }, + "label": { + "type": "string", + "description": "Label of the icon" + }, + "rel": { + "type": "string", + "description": "Rel attribute of the link" + } + } + }, + "title": "Icon links", + "description": "Icons to be added to Social Icons in footer.", + "tags": [ + "@studioIcon material-symbols:add-link" + ], + "id": "#appConfig/docus/footer/iconLinks" + }, + "fluid": { + "title": "Makes the content of the footer fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/footer/fluid", + "default": true, + "type": "boolean" + } + }, + "type": "object", + "default": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + } + }, + "github": { + "title": "GitHub integration", + "description": "Configure the Edit on Github integration.", + "tags": [ + "@studioIcon simple-icons:github" + ], + "id": "#appConfig/docus/github", + "properties": { + "baseUrl": { + "title": "Base URL", + "description": "You can use this to link to GitHub Enterprise.", + "tags": [], + "id": "#appConfig/docus/github/baseUrl", + "default": "https://github.com", + "type": "string" + }, + "dir": { + "title": "Directory", + "description": "Your GitHub repository root directory.", + "tags": [], + "id": "#appConfig/docus/github/dir", + "default": "", + "type": "string" + }, + "branch": { + "title": "Branch", + "description": "Your GitHub repository branch.", + "tags": [], + "id": "#appConfig/docus/github/branch", + "default": "", + "type": "string" + }, + "repo": { + "title": "Repository", + "description": "Your GitHub repository name.", + "tags": [], + "id": "#appConfig/docus/github/repo", + "default": "", + "type": "string" + }, + "owner": { + "title": "Owner", + "description": "Your GitHub repository owner.", + "tags": [], + "id": "#appConfig/docus/github/owner", + "default": "", + "type": "string" + }, + "edit": { + "title": "EditOnGithub", + "description": "Display EditOnGithub button.", + "tags": [], + "id": "#appConfig/docus/github/edit", + "default": false, + "type": "boolean" + } + }, + "type": "object", + "default": { + "baseUrl": "https://github.com", + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + }, + "type": "object", + "default": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "tiktok": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "baseUrl": "https://github.com", + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + }, + "type": "object", + "default": { + "nuxtIcon": { + "size": "1em", + "class": "", + "aliases": {} + }, + "prose": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + }, + "docus": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "tiktok": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "baseUrl": "https://github.com", + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + }, + "default": { + "nuxtIcon": { + "size": "1em", + "class": "", + "aliases": {} + }, + "prose": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + }, + "docus": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "tiktok": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "baseUrl": "https://github.com", + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + } +}; +const ENV_PREFIX = "NITRO_"; +const ENV_PREFIX_ALT = _inlineRuntimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_"; +const _sharedRuntimeConfig = _deepFreeze( + _applyEnv(klona(_inlineRuntimeConfig)) +); +function useRuntimeConfig(event) { + if (!event) { + return _sharedRuntimeConfig; + } + if (event.context.nitro.runtimeConfig) { + return event.context.nitro.runtimeConfig; + } + const runtimeConfig = klona(_inlineRuntimeConfig); + _applyEnv(runtimeConfig); + event.context.nitro.runtimeConfig = runtimeConfig; + return runtimeConfig; +} +const _sharedAppConfig = _deepFreeze(klona(appConfig)); +function useAppConfig(event) { + if (!event) { + return _sharedAppConfig; + } + if (event.context.nitro.appConfig) { + return event.context.nitro.appConfig; + } + const appConfig$1 = klona(appConfig); + event.context.nitro.appConfig = appConfig$1; + return appConfig$1; +} +function _getEnv(key) { + const envKey = snakeCase(key).toUpperCase(); + return destr( + process.env[ENV_PREFIX + envKey] ?? process.env[ENV_PREFIX_ALT + envKey] + ); +} +function _isObject(input) { + return typeof input === "object" && !Array.isArray(input); +} +function _applyEnv(obj, parentKey = "") { + for (const key in obj) { + const subKey = parentKey ? `${parentKey}_${key}` : key; + const envValue = _getEnv(subKey); + if (_isObject(obj[key])) { + if (_isObject(envValue)) { + obj[key] = { ...obj[key], ...envValue }; + } + _applyEnv(obj[key], subKey); + } else { + obj[key] = envValue ?? obj[key]; + } + } + return obj; +} +function _deepFreeze(object) { + const propNames = Object.getOwnPropertyNames(object); + for (const name of propNames) { + const value = object[name]; + if (value && typeof value === "object") { + _deepFreeze(value); + } + } + return Object.freeze(object); +} +new Proxy(/* @__PURE__ */ Object.create(null), { + get: (_, prop) => { + console.warn( + "Please use `useRuntimeConfig()` instead of accessing config directly." + ); + const runtimeConfig = useRuntimeConfig(); + if (prop in runtimeConfig) { + return runtimeConfig[prop]; + } + return void 0; + } +}); + +const defaults$2 = Object.freeze({ + ignoreUnknown: false, + respectType: false, + respectFunctionNames: false, + respectFunctionProperties: false, + unorderedObjects: true, + unorderedArrays: false, + unorderedSets: false, + excludeKeys: void 0, + excludeValues: void 0, + replacer: void 0 +}); +function objectHash(object, options) { + if (options) { + options = { ...defaults$2, ...options }; + } else { + options = defaults$2; + } + const hasher = createHasher(options); + hasher.dispatch(object); + return hasher.toString(); +} +const defaultPrototypesKeys = Object.freeze([ + "prototype", + "__proto__", + "constructor" +]); +function createHasher(options) { + let buff = ""; + let context = /* @__PURE__ */ new Map(); + const write = (str) => { + buff += str; + }; + return { + toString() { + return buff; + }, + getContext() { + return context; + }, + dispatch(value) { + if (options.replacer) { + value = options.replacer(value); + } + const type = value === null ? "null" : typeof value; + return this[type](value); + }, + object(object) { + if (object && typeof object.toJSON === "function") { + return this.object(object.toJSON()); + } + const objString = Object.prototype.toString.call(object); + let objType = ""; + const objectLength = objString.length; + if (objectLength < 10) { + objType = "unknown:[" + objString + "]"; + } else { + objType = objString.slice(8, objectLength - 1); + } + objType = objType.toLowerCase(); + let objectNumber = null; + if ((objectNumber = context.get(object)) === void 0) { + context.set(object, context.size); + } else { + return this.dispatch("[CIRCULAR:" + objectNumber + "]"); + } + if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) { + write("buffer:"); + return write(object.toString("utf8")); + } + if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") { + if (this[objType]) { + this[objType](object); + } else if (!options.ignoreUnknown) { + this.unkown(object, objType); + } + } else { + let keys = Object.keys(object); + if (options.unorderedObjects) { + keys = keys.sort(); + } + let extraKeys = []; + if (options.respectType !== false && !isNativeFunction(object)) { + extraKeys = defaultPrototypesKeys; + } + if (options.excludeKeys) { + keys = keys.filter((key) => { + return !options.excludeKeys(key); + }); + extraKeys = extraKeys.filter((key) => { + return !options.excludeKeys(key); + }); + } + write("object:" + (keys.length + extraKeys.length) + ":"); + const dispatchForKey = (key) => { + this.dispatch(key); + write(":"); + if (!options.excludeValues) { + this.dispatch(object[key]); + } + write(","); + }; + for (const key of keys) { + dispatchForKey(key); + } + for (const key of extraKeys) { + dispatchForKey(key); + } + } + }, + array(arr, unordered) { + unordered = unordered === void 0 ? options.unorderedArrays !== false : unordered; + write("array:" + arr.length + ":"); + if (!unordered || arr.length <= 1) { + for (const entry of arr) { + this.dispatch(entry); + } + return; + } + const contextAdditions = /* @__PURE__ */ new Map(); + const entries = arr.map((entry) => { + const hasher = createHasher(options); + hasher.dispatch(entry); + for (const [key, value] of hasher.getContext()) { + contextAdditions.set(key, value); + } + return hasher.toString(); + }); + context = contextAdditions; + entries.sort(); + return this.array(entries, false); + }, + date(date) { + return write("date:" + date.toJSON()); + }, + symbol(sym) { + return write("symbol:" + sym.toString()); + }, + unkown(value, type) { + write(type); + if (!value) { + return; + } + write(":"); + if (value && typeof value.entries === "function") { + return this.array( + Array.from(value.entries()), + true + /* ordered */ + ); + } + }, + error(err) { + return write("error:" + err.toString()); + }, + boolean(bool) { + return write("bool:" + bool); + }, + string(string) { + write("string:" + string.length + ":"); + write(string); + }, + function(fn) { + write("fn:"); + if (isNativeFunction(fn)) { + this.dispatch("[native]"); + } else { + this.dispatch(fn.toString()); + } + if (options.respectFunctionNames !== false) { + this.dispatch("function-name:" + String(fn.name)); + } + if (options.respectFunctionProperties) { + this.object(fn); + } + }, + number(number) { + return write("number:" + number); + }, + xml(xml) { + return write("xml:" + xml.toString()); + }, + null() { + return write("Null"); + }, + undefined() { + return write("Undefined"); + }, + regexp(regex) { + return write("regex:" + regex.toString()); + }, + uint8array(arr) { + write("uint8array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint8clampedarray(arr) { + write("uint8clampedarray:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int8array(arr) { + write("int8array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint16array(arr) { + write("uint16array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int16array(arr) { + write("int16array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + uint32array(arr) { + write("uint32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + int32array(arr) { + write("int32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + float32array(arr) { + write("float32array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + float64array(arr) { + write("float64array:"); + return this.dispatch(Array.prototype.slice.call(arr)); + }, + arraybuffer(arr) { + write("arraybuffer:"); + return this.dispatch(new Uint8Array(arr)); + }, + url(url) { + return write("url:" + url.toString()); + }, + map(map) { + write("map:"); + const arr = [...map]; + return this.array(arr, options.unorderedSets !== false); + }, + set(set) { + write("set:"); + const arr = [...set]; + return this.array(arr, options.unorderedSets !== false); + }, + file(file) { + write("file:"); + return this.dispatch([file.name, file.size, file.type, file.lastModfied]); + }, + blob() { + if (options.ignoreUnknown) { + return write("[blob]"); + } + throw new Error( + 'Hashing Blob objects is currently not supported\nUse "options.replacer" or "options.ignoreUnknown"\n' + ); + }, + domwindow() { + return write("domwindow"); + }, + bigint(number) { + return write("bigint:" + number.toString()); + }, + /* Node.js standard native objects */ + process() { + return write("process"); + }, + timer() { + return write("timer"); + }, + pipe() { + return write("pipe"); + }, + tcp() { + return write("tcp"); + }, + udp() { + return write("udp"); + }, + tty() { + return write("tty"); + }, + statwatcher() { + return write("statwatcher"); + }, + securecontext() { + return write("securecontext"); + }, + connection() { + return write("connection"); + }, + zlib() { + return write("zlib"); + }, + context() { + return write("context"); + }, + nodescript() { + return write("nodescript"); + }, + httpparser() { + return write("httpparser"); + }, + dataview() { + return write("dataview"); + }, + signal() { + return write("signal"); + }, + fsevent() { + return write("fsevent"); + }, + tlswrap() { + return write("tlswrap"); + } + }; +} +const nativeFunc = "[native code] }"; +const nativeFuncLength = nativeFunc.length; +function isNativeFunction(f) { + if (typeof f !== "function") { + return false; + } + return Function.prototype.toString.call(f).slice(-nativeFuncLength) === nativeFunc; +} + +class WordArray { + constructor(words, sigBytes) { + words = this.words = words || []; + this.sigBytes = sigBytes === void 0 ? words.length * 4 : sigBytes; + } + toString(encoder) { + return (encoder || Hex).stringify(this); + } + concat(wordArray) { + this.clamp(); + if (this.sigBytes % 4) { + for (let i = 0; i < wordArray.sigBytes; i++) { + const thatByte = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + this.words[this.sigBytes + i >>> 2] |= thatByte << 24 - (this.sigBytes + i) % 4 * 8; + } + } else { + for (let j = 0; j < wordArray.sigBytes; j += 4) { + this.words[this.sigBytes + j >>> 2] = wordArray.words[j >>> 2]; + } + } + this.sigBytes += wordArray.sigBytes; + return this; + } + clamp() { + this.words[this.sigBytes >>> 2] &= 4294967295 << 32 - this.sigBytes % 4 * 8; + this.words.length = Math.ceil(this.sigBytes / 4); + } + clone() { + return new WordArray([...this.words]); + } +} +const Hex = { + stringify(wordArray) { + const hexChars = []; + for (let i = 0; i < wordArray.sigBytes; i++) { + const bite = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + hexChars.push((bite >>> 4).toString(16), (bite & 15).toString(16)); + } + return hexChars.join(""); + } +}; +const Base64 = { + stringify(wordArray) { + const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + const base64Chars = []; + for (let i = 0; i < wordArray.sigBytes; i += 3) { + const byte1 = wordArray.words[i >>> 2] >>> 24 - i % 4 * 8 & 255; + const byte2 = wordArray.words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255; + const byte3 = wordArray.words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255; + const triplet = byte1 << 16 | byte2 << 8 | byte3; + for (let j = 0; j < 4 && i * 8 + j * 6 < wordArray.sigBytes * 8; j++) { + base64Chars.push(keyStr.charAt(triplet >>> 6 * (3 - j) & 63)); + } + } + return base64Chars.join(""); + } +}; +const Latin1 = { + parse(latin1Str) { + const latin1StrLength = latin1Str.length; + const words = []; + for (let i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8; + } + return new WordArray(words, latin1StrLength); + } +}; +const Utf8 = { + parse(utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } +}; +class BufferedBlockAlgorithm { + constructor() { + this._data = new WordArray(); + this._nDataBytes = 0; + this._minBufferSize = 0; + this.blockSize = 512 / 32; + } + reset() { + this._data = new WordArray(); + this._nDataBytes = 0; + } + _append(data) { + if (typeof data === "string") { + data = Utf8.parse(data); + } + this._data.concat(data); + this._nDataBytes += data.sigBytes; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + _doProcessBlock(_dataWords, _offset) { + } + _process(doFlush) { + let processedWords; + let nBlocksReady = this._data.sigBytes / (this.blockSize * 4); + if (doFlush) { + nBlocksReady = Math.ceil(nBlocksReady); + } else { + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + const nWordsReady = nBlocksReady * this.blockSize; + const nBytesReady = Math.min(nWordsReady * 4, this._data.sigBytes); + if (nWordsReady) { + for (let offset = 0; offset < nWordsReady; offset += this.blockSize) { + this._doProcessBlock(this._data.words, offset); + } + processedWords = this._data.words.splice(0, nWordsReady); + this._data.sigBytes -= nBytesReady; + } + return new WordArray(processedWords, nBytesReady); + } +} +class Hasher extends BufferedBlockAlgorithm { + update(messageUpdate) { + this._append(messageUpdate); + this._process(); + return this; + } + finalize(messageUpdate) { + if (messageUpdate) { + this._append(messageUpdate); + } + } +} + +const H = [ + 1779033703, + -1150833019, + 1013904242, + -1521486534, + 1359893119, + -1694144372, + 528734635, + 1541459225 +]; +const K = [ + 1116352408, + 1899447441, + -1245643825, + -373957723, + 961987163, + 1508970993, + -1841331548, + -1424204075, + -670586216, + 310598401, + 607225278, + 1426881987, + 1925078388, + -2132889090, + -1680079193, + -1046744716, + -459576895, + -272742522, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + -1740746414, + -1473132947, + -1341970488, + -1084653625, + -958395405, + -710438585, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + -2117940946, + -1838011259, + -1564481375, + -1474664885, + -1035236496, + -949202525, + -778901479, + -694614492, + -200395387, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + -2067236844, + -1933114872, + -1866530822, + -1538233109, + -1090935817, + -965641998 +]; +const W = []; +class SHA256 extends Hasher { + constructor() { + super(...arguments); + this._hash = new WordArray([...H]); + } + reset() { + super.reset(); + this._hash = new WordArray([...H]); + } + _doProcessBlock(M, offset) { + const H2 = this._hash.words; + let a = H2[0]; + let b = H2[1]; + let c = H2[2]; + let d = H2[3]; + let e = H2[4]; + let f = H2[5]; + let g = H2[6]; + let h = H2[7]; + for (let i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + const gamma0x = W[i - 15]; + const gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3; + const gamma1x = W[i - 2]; + const gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10; + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + const ch = e & f ^ ~e & g; + const maj = a & b ^ a & c ^ b & c; + const sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22); + const sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25); + const t1 = h + sigma1 + ch + K[i] + W[i]; + const t2 = sigma0 + maj; + h = g; + g = f; + f = e; + e = d + t1 | 0; + d = c; + c = b; + b = a; + a = t1 + t2 | 0; + } + H2[0] = H2[0] + a | 0; + H2[1] = H2[1] + b | 0; + H2[2] = H2[2] + c | 0; + H2[3] = H2[3] + d | 0; + H2[4] = H2[4] + e | 0; + H2[5] = H2[5] + f | 0; + H2[6] = H2[6] + g | 0; + H2[7] = H2[7] + h | 0; + } + finalize(messageUpdate) { + super.finalize(messageUpdate); + const nBitsTotal = this._nDataBytes * 8; + const nBitsLeft = this._data.sigBytes * 8; + this._data.words[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32; + this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor( + nBitsTotal / 4294967296 + ); + this._data.words[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal; + this._data.sigBytes = this._data.words.length * 4; + this._process(); + return this._hash; + } +} +function sha256base64(message) { + return new SHA256().finalize(message).toString(Base64); +} + +function hash(object, options = {}) { + const hashed = typeof object === "string" ? object : objectHash(object, options); + return sha256base64(hashed).slice(0, 10); +} + +function isEqual(object1, object2, hashOptions = {}) { + if (object1 === object2) { + return true; + } + if (objectHash(object1, hashOptions) === objectHash(object2, hashOptions)) { + return true; + } + return false; +} + +function wrapToPromise(value) { + if (!value || typeof value.then !== "function") { + return Promise.resolve(value); + } + return value; +} +function asyncCall(function_, ...arguments_) { + try { + return wrapToPromise(function_(...arguments_)); + } catch (error) { + return Promise.reject(error); + } +} +function isPrimitive(value) { + const type = typeof value; + return value === null || type !== "object" && type !== "function"; +} +function isPureObject(value) { + const proto = Object.getPrototypeOf(value); + return !proto || proto.isPrototypeOf(Object); +} +function stringify(value) { + if (isPrimitive(value)) { + return String(value); + } + if (isPureObject(value) || Array.isArray(value)) { + return JSON.stringify(value); + } + if (typeof value.toJSON === "function") { + return stringify(value.toJSON()); + } + throw new Error("[unstorage] Cannot stringify value!"); +} +function checkBufferSupport() { + if (typeof Buffer === void 0) { + throw new TypeError("[unstorage] Buffer is not supported!"); + } +} +const BASE64_PREFIX = "base64:"; +function serializeRaw(value) { + if (typeof value === "string") { + return value; + } + checkBufferSupport(); + const base64 = Buffer.from(value).toString("base64"); + return BASE64_PREFIX + base64; +} +function deserializeRaw(value) { + if (typeof value !== "string") { + return value; + } + if (!value.startsWith(BASE64_PREFIX)) { + return value; + } + checkBufferSupport(); + return Buffer.from(value.slice(BASE64_PREFIX.length), "base64"); +} + +const storageKeyProperties = [ + "hasItem", + "getItem", + "getItemRaw", + "setItem", + "setItemRaw", + "removeItem", + "getMeta", + "setMeta", + "removeMeta", + "getKeys", + "clear", + "mount", + "unmount" +]; +function prefixStorage(storage, base) { + base = normalizeBaseKey(base); + if (!base) { + return storage; + } + const nsStorage = { ...storage }; + for (const property of storageKeyProperties) { + nsStorage[property] = (key = "", ...args) => ( + // @ts-ignore + storage[property](base + key, ...args) + ); + } + nsStorage.getKeys = (key = "", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length))); + return nsStorage; +} +function normalizeKey$2(key) { + if (!key) { + return ""; + } + return key.split("?")[0].replace(/[/\\]/g, ":").replace(/:+/g, ":").replace(/^:|:$/g, ""); +} +function joinKeys(...keys) { + return normalizeKey$2(keys.join(":")); +} +function normalizeBaseKey(base) { + base = normalizeKey$2(base); + return base ? base + ":" : ""; +} + +function defineDriver$1(factory) { + return factory; +} + +const DRIVER_NAME$3 = "memory"; +const memory$1 = defineDriver$1(() => { + const data = /* @__PURE__ */ new Map(); + return { + name: DRIVER_NAME$3, + options: {}, + hasItem(key) { + return data.has(key); + }, + getItem(key) { + return data.get(key) || null; + }, + getItemRaw(key) { + return data.get(key) || null; + }, + setItem(key, value) { + data.set(key, value); + }, + setItemRaw(key, value) { + data.set(key, value); + }, + removeItem(key) { + data.delete(key); + }, + getKeys() { + return Array.from(data.keys()); + }, + clear() { + data.clear(); + }, + dispose() { + data.clear(); + } + }; +}); + +function createStorage(options = {}) { + const context = { + mounts: { "": options.driver || memory$1() }, + mountpoints: [""], + watching: false, + watchListeners: [], + unwatch: {} + }; + const getMount = (key) => { + for (const base of context.mountpoints) { + if (key.startsWith(base)) { + return { + base, + relativeKey: key.slice(base.length), + driver: context.mounts[base] + }; + } + } + return { + base: "", + relativeKey: key, + driver: context.mounts[""] + }; + }; + const getMounts = (base, includeParent) => { + return context.mountpoints.filter( + (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint) + ).map((mountpoint) => ({ + relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0, + mountpoint, + driver: context.mounts[mountpoint] + })); + }; + const onChange = (event, key) => { + if (!context.watching) { + return; + } + key = normalizeKey$2(key); + for (const listener of context.watchListeners) { + listener(event, key); + } + }; + const startWatch = async () => { + if (context.watching) { + return; + } + context.watching = true; + for (const mountpoint in context.mounts) { + context.unwatch[mountpoint] = await watch( + context.mounts[mountpoint], + onChange, + mountpoint + ); + } + }; + const stopWatch = async () => { + if (!context.watching) { + return; + } + for (const mountpoint in context.unwatch) { + await context.unwatch[mountpoint](); + } + context.unwatch = {}; + context.watching = false; + }; + const runBatch = (items, commonOptions, cb) => { + const batches = /* @__PURE__ */ new Map(); + const getBatch = (mount) => { + let batch = batches.get(mount.base); + if (!batch) { + batch = { + driver: mount.driver, + base: mount.base, + items: [] + }; + batches.set(mount.base, batch); + } + return batch; + }; + for (const item of items) { + const isStringItem = typeof item === "string"; + const key = normalizeKey$2(isStringItem ? item : item.key); + const value = isStringItem ? void 0 : item.value; + const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options }; + const mount = getMount(key); + getBatch(mount).items.push({ + key, + value, + relativeKey: mount.relativeKey, + options: options2 + }); + } + return Promise.all([...batches.values()].map((batch) => cb(batch))).then( + (r) => r.flat() + ); + }; + const storage = { + // Item + hasItem(key, opts = {}) { + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.hasItem, relativeKey, opts); + }, + getItem(key, opts = {}) { + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => destr(value) + ); + }, + getItems(items, commonOptions) { + return runBatch(items, commonOptions, (batch) => { + if (batch.driver.getItems) { + return asyncCall( + batch.driver.getItems, + batch.items.map((item) => ({ + key: item.relativeKey, + options: item.options + })), + commonOptions + ).then( + (r) => r.map((item) => ({ + key: joinKeys(batch.base, item.key), + value: destr(item.value) + })) + ); + } + return Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.getItem, + item.relativeKey, + item.options + ).then((value) => ({ + key: item.key, + value: destr(value) + })); + }) + ); + }); + }, + getItemRaw(key, opts = {}) { + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + if (driver.getItemRaw) { + return asyncCall(driver.getItemRaw, relativeKey, opts); + } + return asyncCall(driver.getItem, relativeKey, opts).then( + (value) => deserializeRaw(value) + ); + }, + async setItem(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key); + } + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + if (!driver.setItem) { + return; + } + await asyncCall(driver.setItem, relativeKey, stringify(value), opts); + if (!driver.watch) { + onChange("update", key); + } + }, + async setItems(items, commonOptions) { + await runBatch(items, commonOptions, async (batch) => { + if (batch.driver.setItems) { + await asyncCall( + batch.driver.setItems, + batch.items.map((item) => ({ + key: item.relativeKey, + value: stringify(item.value), + options: item.options + })), + commonOptions + ); + } + if (!batch.driver.setItem) { + return; + } + await Promise.all( + batch.items.map((item) => { + return asyncCall( + batch.driver.setItem, + item.relativeKey, + stringify(item.value), + item.options + ); + }) + ); + }); + }, + async setItemRaw(key, value, opts = {}) { + if (value === void 0) { + return storage.removeItem(key, opts); + } + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + if (driver.setItemRaw) { + await asyncCall(driver.setItemRaw, relativeKey, value, opts); + } else if (driver.setItem) { + await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts); + } else { + return; + } + if (!driver.watch) { + onChange("update", key); + } + }, + async removeItem(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { removeMeta: opts }; + } + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + if (!driver.removeItem) { + return; + } + await asyncCall(driver.removeItem, relativeKey, opts); + if (opts.removeMeta || opts.removeMata) { + await asyncCall(driver.removeItem, relativeKey + "$", opts); + } + if (!driver.watch) { + onChange("remove", key); + } + }, + // Meta + async getMeta(key, opts = {}) { + if (typeof opts === "boolean") { + opts = { nativeOnly: opts }; + } + key = normalizeKey$2(key); + const { relativeKey, driver } = getMount(key); + const meta = /* @__PURE__ */ Object.create(null); + if (driver.getMeta) { + Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts)); + } + if (!opts.nativeOnly) { + const value = await asyncCall( + driver.getItem, + relativeKey + "$", + opts + ).then((value_) => destr(value_)); + if (value && typeof value === "object") { + if (typeof value.atime === "string") { + value.atime = new Date(value.atime); + } + if (typeof value.mtime === "string") { + value.mtime = new Date(value.mtime); + } + Object.assign(meta, value); + } + } + return meta; + }, + setMeta(key, value, opts = {}) { + return this.setItem(key + "$", value, opts); + }, + removeMeta(key, opts = {}) { + return this.removeItem(key + "$", opts); + }, + // Keys + async getKeys(base, opts = {}) { + base = normalizeBaseKey(base); + const mounts = getMounts(base, true); + let maskedMounts = []; + const allKeys = []; + for (const mount of mounts) { + const rawKeys = await asyncCall( + mount.driver.getKeys, + mount.relativeBase, + opts + ); + const keys = rawKeys.map((key) => mount.mountpoint + normalizeKey$2(key)).filter((key) => !maskedMounts.some((p) => key.startsWith(p))); + allKeys.push(...keys); + maskedMounts = [ + mount.mountpoint, + ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint)) + ]; + } + return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith("$")) : allKeys.filter((key) => !key.endsWith("$")); + }, + // Utils + async clear(base, opts = {}) { + base = normalizeBaseKey(base); + await Promise.all( + getMounts(base, false).map(async (m) => { + if (m.driver.clear) { + return asyncCall(m.driver.clear, m.relativeBase, opts); + } + if (m.driver.removeItem) { + const keys = await m.driver.getKeys(m.relativeBase || "", opts); + return Promise.all( + keys.map((key) => m.driver.removeItem(key, opts)) + ); + } + }) + ); + }, + async dispose() { + await Promise.all( + Object.values(context.mounts).map((driver) => dispose(driver)) + ); + }, + async watch(callback) { + await startWatch(); + context.watchListeners.push(callback); + return async () => { + context.watchListeners = context.watchListeners.filter( + (listener) => listener !== callback + ); + if (context.watchListeners.length === 0) { + await stopWatch(); + } + }; + }, + async unwatch() { + context.watchListeners = []; + await stopWatch(); + }, + // Mount + mount(base, driver) { + base = normalizeBaseKey(base); + if (base && context.mounts[base]) { + throw new Error(`already mounted at ${base}`); + } + if (base) { + context.mountpoints.push(base); + context.mountpoints.sort((a, b) => b.length - a.length); + } + context.mounts[base] = driver; + if (context.watching) { + Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => { + context.unwatch[base] = unwatcher; + }).catch(console.error); + } + return storage; + }, + async unmount(base, _dispose = true) { + base = normalizeBaseKey(base); + if (!base || !context.mounts[base]) { + return; + } + if (context.watching && base in context.unwatch) { + context.unwatch[base](); + delete context.unwatch[base]; + } + if (_dispose) { + await dispose(context.mounts[base]); + } + context.mountpoints = context.mountpoints.filter((key) => key !== base); + delete context.mounts[base]; + }, + getMount(key = "") { + key = normalizeKey$2(key) + ":"; + const m = getMount(key); + return { + driver: m.driver, + base: m.base + }; + }, + getMounts(base = "", opts = {}) { + base = normalizeKey$2(base); + const mounts = getMounts(base, opts.parents); + return mounts.map((m) => ({ + driver: m.driver, + base: m.mountpoint + })); + } + }; + return storage; +} +function watch(driver, onChange, base) { + return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => { + }; +} +async function dispose(driver) { + if (typeof driver.dispose === "function") { + await asyncCall(driver.dispose); + } +} + +const _assets = { + ["nitro:bundled:pinceau:index.css"]: { + import: () => import('../raw/index.mjs').then(r => r.default || r), + meta: {"type":"text/css; charset=utf-8","etag":"\"6ac5-4LEdkosUnIZtOaB6S63hpgUbXW4\"","mtime":"2023-10-30T19:45:01.926Z"} + }, + ["nitro:bundled:cache:content:content-index.json"]: { + import: () => import('../raw/content-index.mjs').then(r => r.default || r), + meta: {"type":"application/json","etag":"\"250-PKPYtprFrJz6DMRwmDPQzlO4MKk\"","mtime":"2023-10-30T19:45:01.926Z"} + }, + ["nitro:bundled:cache:content:content-navigation.json"]: { + import: () => import('../raw/content-navigation.mjs').then(r => r.default || r), + meta: {"type":"application/json","etag":"\"272-mqg7JfaIPjykElSzLgFKS5z4um4\"","mtime":"2023-10-30T19:45:01.926Z"} + }, + ["nitro:bundled:cache:content:parsed:content:0.index.md"]: { + import: () => import('../raw/0.index.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"10d2-goHU1YaWX7O5xROqs5uHFP+RUso\"","mtime":"2023-10-30T19:45:01.927Z"} + }, + ["nitro:bundled:cache:content:parsed:content:1.introduction:1.getting-started.md"]: { + import: () => import('../raw/1.getting-started.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"2467-QRiiuwHl0gfIsMJvuV12cZB6G5k\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:1.introduction:2.project-structure.md"]: { + import: () => import('../raw/2.project-structure.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"1272-ek4RFzADj0po1Rdl9jOlGVAOYrs\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:1.introduction:3.writing-pages.md"]: { + import: () => import('../raw/3.writing-pages.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"3a86-ZhHUJkKfY7p8uCXY7uK0sLAJ4Ow\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:1.introduction:4.configuration.md"]: { + import: () => import('../raw/4.configuration.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"fd6b-Ing2dlZt8UbhOUz9ytvIFyrE2WY\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:1.introduction:_dir.yml"]: { + import: () => import('../raw/_dir.mjs').then(r => r.default || r), + meta: {"type":"text/yaml; charset=utf-8","etag":"\"160-xrqtnQ1KSgiz+9LX4C4OnEeSrqU\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:2.api:1.components.md"]: { + import: () => import('../raw/1.components.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"11662-9HiVZLxAG0TMYiHGKth08Omp4hc\"","mtime":"2023-10-30T19:45:01.928Z"} + }, + ["nitro:bundled:cache:content:parsed:content:2.api:2.composables.md"]: { + import: () => import('../raw/2.composables.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"5ecb-llJwH+FXJHpJhw8GTHK8fOIuUd0\"","mtime":"2023-10-30T19:45:01.927Z"} + }, + ["nitro:bundled:cache:content:parsed:content:2.api:3.layouts.md"]: { + import: () => import('../raw/3.layouts.mjs').then(r => r.default || r), + meta: {"type":"text/markdown; charset=utf-8","etag":"\"273f-u8QyyWyRCd7DMTANstefNooylk8\"","mtime":"2023-10-30T19:45:01.927Z"} + }, + ["nitro:bundled:cache:content:parsed:content:2.api:_dir.yml"]: { + import: () => import('../raw/_dir2.mjs').then(r => r.default || r), + meta: {"type":"text/yaml; charset=utf-8","etag":"\"111-b+labh42IcuHn9QvHQwcm1oe17Q\"","mtime":"2023-10-30T19:45:01.927Z"} + } +}; + +const normalizeKey$1 = function normalizeKey(key) { + if (!key) { + return ""; + } + return key.split("?")[0].replace(/[/\\]/g, ":").replace(/:+/g, ":").replace(/^:|:$/g, ""); +}; + +const assets$1 = { + getKeys() { + return Promise.resolve(Object.keys(_assets)) + }, + hasItem (id) { + id = normalizeKey$1(id); + return Promise.resolve(id in _assets) + }, + getItem (id) { + id = normalizeKey$1(id); + return Promise.resolve(_assets[id] ? _assets[id].import() : null) + }, + getMeta (id) { + id = normalizeKey$1(id); + return Promise.resolve(_assets[id] ? _assets[id].meta : {}) + } +}; + +function defineDriver(factory) { + return factory; +} +function normalizeKey(key) { + if (!key) { + return ""; + } + return key.replace(/[/\\]/g, ":").replace(/^:|:$/g, ""); +} +function createError(driver, message, opts) { + const err = new Error(`[unstorage] [${driver}] ${message}`, opts); + return err; +} +function createRequiredError(driver, name) { + if (Array.isArray(name)) { + return createError( + driver, + `Missing some of the required options ${name.map((n) => "`" + n + "`").join(", ")}` + ); + } + return createError(driver, `Missing required option \`${name}\`.`); +} + +function ignoreNotfound(err) { + return err.code === "ENOENT" || err.code === "EISDIR" ? null : err; +} +function ignoreExists(err) { + return err.code === "EEXIST" ? null : err; +} +async function writeFile(path, data, encoding) { + await ensuredir(dirname$1(path)); + return promises.writeFile(path, data, encoding); +} +function readFile(path, encoding) { + return promises.readFile(path, encoding).catch(ignoreNotfound); +} +function unlink(path) { + return promises.unlink(path).catch(ignoreNotfound); +} +function readdir(dir) { + return promises.readdir(dir, { withFileTypes: true }).catch(ignoreNotfound).then((r) => r || []); +} +async function ensuredir(dir) { + if (existsSync(dir)) { + return; + } + await ensuredir(dirname$1(dir)).catch(ignoreExists); + await promises.mkdir(dir).catch(ignoreExists); +} +async function readdirRecursive(dir, ignore) { + if (ignore && ignore(dir)) { + return []; + } + const entries = await readdir(dir); + const files = []; + await Promise.all( + entries.map(async (entry) => { + const entryPath = resolve$1(dir, entry.name); + if (entry.isDirectory()) { + const dirFiles = await readdirRecursive(entryPath, ignore); + files.push(...dirFiles.map((f) => entry.name + "/" + f)); + } else { + if (!(ignore && ignore(entry.name))) { + files.push(entry.name); + } + } + }) + ); + return files; +} +async function rmRecursive(dir) { + const entries = await readdir(dir); + await Promise.all( + entries.map((entry) => { + const entryPath = resolve$1(dir, entry.name); + if (entry.isDirectory()) { + return rmRecursive(entryPath).then(() => promises.rmdir(entryPath)); + } else { + return promises.unlink(entryPath); + } + }) + ); +} + +const PATH_TRAVERSE_RE = /\.\.\:|\.\.$/; +const DRIVER_NAME$2 = "fs-lite"; +const unstorage_47drivers_47fs_45lite = defineDriver((opts = {}) => { + if (!opts.base) { + throw createRequiredError(DRIVER_NAME$2, "base"); + } + opts.base = resolve$1(opts.base); + const r = (key) => { + if (PATH_TRAVERSE_RE.test(key)) { + throw createError( + DRIVER_NAME$2, + `Invalid key: ${JSON.stringify(key)}. It should not contain .. segments` + ); + } + const resolved = join(opts.base, key.replace(/:/g, "/")); + return resolved; + }; + return { + name: DRIVER_NAME$2, + options: opts, + hasItem(key) { + return existsSync(r(key)); + }, + getItem(key) { + return readFile(r(key), "utf8"); + }, + getItemRaw(key) { + return readFile(r(key)); + }, + async getMeta(key) { + const { atime, mtime, size, birthtime, ctime } = await promises.stat(r(key)).catch(() => ({})); + return { atime, mtime, size, birthtime, ctime }; + }, + setItem(key, value) { + if (opts.readOnly) { + return; + } + return writeFile(r(key), value, "utf8"); + }, + setItemRaw(key, value) { + if (opts.readOnly) { + return; + } + return writeFile(r(key), value); + }, + removeItem(key) { + if (opts.readOnly) { + return; + } + return unlink(r(key)); + }, + getKeys() { + return readdirRecursive(r("."), opts.ignore); + }, + async clear() { + if (opts.readOnly || opts.noClear) { + return; + } + await rmRecursive(r(".")); + } + }; +}); + +const OVERLAY_REMOVED = "__OVERLAY_REMOVED__"; +const DRIVER_NAME$1 = "overlay"; +const overlay = defineDriver((options) => { + return { + name: DRIVER_NAME$1, + options, + async hasItem(key, opts) { + for (const layer of options.layers) { + if (await layer.hasItem(key, opts)) { + if (layer === options.layers[0]) { + if (await options.layers[0]?.getItem(key) === OVERLAY_REMOVED) { + return false; + } + } + return true; + } + } + return false; + }, + async getItem(key) { + for (const layer of options.layers) { + const value = await layer.getItem(key); + if (value === OVERLAY_REMOVED) { + return null; + } + if (value !== null) { + return value; + } + } + return null; + }, + // TODO: Support native meta + // async getMeta (key) {}, + async setItem(key, value, opts) { + await options.layers[0]?.setItem?.(key, value, opts); + }, + async removeItem(key, opts) { + await options.layers[0]?.setItem?.(key, OVERLAY_REMOVED, opts); + }, + async getKeys(base, opts) { + const allKeys = await Promise.all( + options.layers.map(async (layer) => { + const keys = await layer.getKeys(base, opts); + return keys.map((key) => normalizeKey(key)); + }) + ); + const uniqueKeys = Array.from(new Set(allKeys.flat())); + const existingKeys = await Promise.all( + uniqueKeys.map(async (key) => { + if (await options.layers[0]?.getItem(key) === OVERLAY_REMOVED) { + return false; + } + return key; + }) + ); + return existingKeys.filter(Boolean); + }, + async dispose() { + await Promise.all( + options.layers.map(async (layer) => { + if (layer.dispose) { + await layer.dispose(); + } + }) + ); + } + }; +}); + +const DRIVER_NAME = "memory"; +const memoryDriver = defineDriver(() => { + const data = /* @__PURE__ */ new Map(); + return { + name: DRIVER_NAME, + options: {}, + hasItem(key) { + return data.has(key); + }, + getItem(key) { + return data.get(key) || null; + }, + getItemRaw(key) { + return data.get(key) || null; + }, + setItem(key, value) { + data.set(key, value); + }, + setItemRaw(key, value) { + data.set(key, value); + }, + removeItem(key) { + data.delete(key); + }, + getKeys() { + return Array.from(data.keys()); + }, + clear() { + data.clear(); + }, + dispose() { + data.clear(); + } + }; +}); + +const storage = createStorage({}); + +storage.mount('/assets', assets$1); + +storage.mount('data', unstorage_47drivers_47fs_45lite({"driver":"fsLite","base":"/Users/danielsmith/Documents/GitHub/docs/.data/kv"})); + +const bundledStorage = ["pinceau","/cache/content"]; +for (const base of bundledStorage) { + storage.mount(base, overlay({ + layers: [ + memoryDriver(), + // TODO + // prefixStorage(storage, base), + prefixStorage(storage, 'assets:nitro:bundled:' + base) + ] + })); +} + +function useStorage(base = "") { + return base ? prefixStorage(storage, base) : storage; +} + +const defaultCacheOptions = { + name: "_", + base: "/cache", + swr: true, + maxAge: 1 +}; +function defineCachedFunction(fn, opts = {}) { + opts = { ...defaultCacheOptions, ...opts }; + const pending = {}; + const group = opts.group || "nitro/functions"; + const name = opts.name || fn.name || "_"; + const integrity = opts.integrity || hash([fn, opts]); + const validate = opts.validate || ((entry) => entry.value !== void 0); + async function get(key, resolver, shouldInvalidateCache, event) { + const cacheKey = [opts.base, group, name, key + ".json"].filter(Boolean).join(":").replace(/:\/$/, ":index"); + const entry = await useStorage().getItem(cacheKey) || {}; + const ttl = (opts.maxAge ?? opts.maxAge ?? 0) * 1e3; + if (ttl) { + entry.expires = Date.now() + ttl; + } + const expired = shouldInvalidateCache || entry.integrity !== integrity || ttl && Date.now() - (entry.mtime || 0) > ttl || validate(entry) === false; + const _resolve = async () => { + const isPending = pending[key]; + if (!isPending) { + if (entry.value !== void 0 && (opts.staleMaxAge || 0) >= 0 && opts.swr === false) { + entry.value = void 0; + entry.integrity = void 0; + entry.mtime = void 0; + entry.expires = void 0; + } + pending[key] = Promise.resolve(resolver()); + } + try { + entry.value = await pending[key]; + } catch (error) { + if (!isPending) { + delete pending[key]; + } + throw error; + } + if (!isPending) { + entry.mtime = Date.now(); + entry.integrity = integrity; + delete pending[key]; + if (validate(entry) !== false) { + const promise = useStorage().setItem(cacheKey, entry).catch((error) => { + console.error(`[nitro] [cache] Cache write error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + if (event && event.waitUntil) { + event.waitUntil(promise); + } + } + } + }; + const _resolvePromise = expired ? _resolve() : Promise.resolve(); + if (entry.value === void 0) { + await _resolvePromise; + } else if (expired && event && event.waitUntil) { + event.waitUntil(_resolvePromise); + } + if (opts.swr && validate(entry) !== false) { + _resolvePromise.catch((error) => { + console.error(`[nitro] [cache] SWR handler error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + return entry; + } + return _resolvePromise.then(() => entry); + } + return async (...args) => { + const shouldBypassCache = opts.shouldBypassCache?.(...args); + if (shouldBypassCache) { + return fn(...args); + } + const key = await (opts.getKey || getKey)(...args); + const shouldInvalidateCache = opts.shouldInvalidateCache?.(...args); + const entry = await get( + key, + () => fn(...args), + shouldInvalidateCache, + args[0] && isEvent(args[0]) ? args[0] : void 0 + ); + let value = entry.value; + if (opts.transform) { + value = await opts.transform(entry, ...args) || value; + } + return value; + }; +} +const cachedFunction = defineCachedFunction; +function getKey(...args) { + return args.length > 0 ? hash(args, {}) : ""; +} +function escapeKey(key) { + return String(key).replace(/\W/g, ""); +} +function defineCachedEventHandler(handler, opts = defaultCacheOptions) { + const variableHeaderNames = (opts.varies || []).filter(Boolean).map((h) => h.toLowerCase()).sort(); + const _opts = { + ...opts, + getKey: async (event) => { + const customKey = await opts.getKey?.(event); + if (customKey) { + return escapeKey(customKey); + } + const _path = event.node.req.originalUrl || event.node.req.url || event.path; + const _pathname = escapeKey(decodeURI(parseURL(_path).pathname)).slice(0, 16) || "index"; + const _hashedPath = `${_pathname}.${hash(_path)}`; + const _headers = variableHeaderNames.map((header) => [header, event.node.req.headers[header]]).map(([name, value]) => `${escapeKey(name)}.${hash(value)}`); + return [_hashedPath, ..._headers].join(":"); + }, + validate: (entry) => { + if (!entry.value) { + return false; + } + if (entry.value.code >= 400) { + return false; + } + if (entry.value.body === void 0) { + return false; + } + if (entry.value.headers.etag === "undefined" || entry.value.headers["last-modified"] === "undefined") { + return false; + } + return true; + }, + group: opts.group || "nitro/handlers", + integrity: opts.integrity || hash([handler, opts]) + }; + const _cachedHandler = cachedFunction( + async (incomingEvent) => { + const variableHeaders = {}; + for (const header of variableHeaderNames) { + variableHeaders[header] = incomingEvent.node.req.headers[header]; + } + const reqProxy = cloneWithProxy(incomingEvent.node.req, { + headers: variableHeaders + }); + const resHeaders = {}; + let _resSendBody; + const resProxy = cloneWithProxy(incomingEvent.node.res, { + statusCode: 200, + writableEnded: false, + writableFinished: false, + headersSent: false, + closed: false, + getHeader(name) { + return resHeaders[name]; + }, + setHeader(name, value) { + resHeaders[name] = value; + return this; + }, + getHeaderNames() { + return Object.keys(resHeaders); + }, + hasHeader(name) { + return name in resHeaders; + }, + removeHeader(name) { + delete resHeaders[name]; + }, + getHeaders() { + return resHeaders; + }, + end(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + write(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + writeHead(statusCode, headers2) { + this.statusCode = statusCode; + if (headers2) { + for (const header in headers2) { + this.setHeader(header, headers2[header]); + } + } + return this; + } + }); + const event = createEvent(reqProxy, resProxy); + event.context = incomingEvent.context; + const body = await handler(event) || _resSendBody; + const headers = event.node.res.getHeaders(); + headers.etag = String( + headers.Etag || headers.etag || `W/"${hash(body)}"` + ); + headers["last-modified"] = String( + headers["Last-Modified"] || headers["last-modified"] || (/* @__PURE__ */ new Date()).toUTCString() + ); + const cacheControl = []; + if (opts.swr) { + if (opts.maxAge) { + cacheControl.push(`s-maxage=${opts.maxAge}`); + } + if (opts.staleMaxAge) { + cacheControl.push(`stale-while-revalidate=${opts.staleMaxAge}`); + } else { + cacheControl.push("stale-while-revalidate"); + } + } else if (opts.maxAge) { + cacheControl.push(`max-age=${opts.maxAge}`); + } + if (cacheControl.length > 0) { + headers["cache-control"] = cacheControl.join(", "); + } + const cacheEntry = { + code: event.node.res.statusCode, + headers, + body + }; + return cacheEntry; + }, + _opts + ); + return defineEventHandler(async (event) => { + if (opts.headersOnly) { + if (handleCacheHeaders(event, { maxAge: opts.maxAge })) { + return; + } + return handler(event); + } + const response = await _cachedHandler(event); + if (event.node.res.headersSent || event.node.res.writableEnded) { + return response.body; + } + if (handleCacheHeaders(event, { + modifiedTime: new Date(response.headers["last-modified"]), + etag: response.headers.etag, + maxAge: opts.maxAge + })) { + return; + } + event.node.res.statusCode = response.code; + for (const name in response.headers) { + const value = response.headers[name]; + if (name === "set-cookie") { + event.node.res.appendHeader( + name, + splitCookiesString(value) + ); + } else { + event.node.res.setHeader(name, value); + } + } + return response.body; + }); +} +function cloneWithProxy(obj, overrides) { + return new Proxy(obj, { + get(target, property, receiver) { + if (property in overrides) { + return overrides[property]; + } + return Reflect.get(target, property, receiver); + }, + set(target, property, value, receiver) { + if (property in overrides) { + overrides[property] = value; + return true; + } + return Reflect.set(target, property, value, receiver); + } + }); +} +const cachedEventHandler = defineCachedEventHandler; + +function hasReqHeader(event, name, includes) { + const value = getRequestHeader(event, name); + return value && typeof value === "string" && value.toLowerCase().includes(includes); +} +function isJsonRequest(event) { + return hasReqHeader(event, "accept", "application/json") || hasReqHeader(event, "user-agent", "curl/") || hasReqHeader(event, "user-agent", "httpie/") || hasReqHeader(event, "sec-fetch-mode", "cors") || event.path.startsWith("/api/") || event.path.endsWith(".json"); +} +function normalizeError(error) { + const cwd = typeof process.cwd === "function" ? process.cwd() : "/"; + const stack = (error.stack || "").split("\n").splice(1).filter((line) => line.includes("at ")).map((line) => { + const text = line.replace(cwd + "/", "./").replace("webpack:/", "").replace("file://", "").trim(); + return { + text, + internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise") + }; + }); + const statusCode = error.statusCode || 500; + const statusMessage = error.statusMessage ?? (statusCode === 404 ? "Not Found" : ""); + const message = error.message || error.toString(); + return { + stack, + statusCode, + statusMessage, + message + }; +} +function _captureError(error, type) { + console.error(`[nitro] [${type}]`, error); + useNitroApp().captureError(error, { tags: [type] }); +} +function trapUnhandledNodeErrors() { + process.on( + "unhandledRejection", + (error) => _captureError(error, "unhandledRejection") + ); + process.on( + "uncaughtException", + (error) => _captureError(error, "uncaughtException") + ); +} +function joinHeaders(value) { + return Array.isArray(value) ? value.join(", ") : String(value); +} +function normalizeFetchResponse(response) { + if (!response.headers.has("set-cookie")) { + return response; + } + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: normalizeCookieHeaders(response.headers) + }); +} +function normalizeCookieHeader(header = "") { + return splitCookiesString(joinHeaders(header)); +} +function normalizeCookieHeaders(headers) { + const outgoingHeaders = new Headers(); + for (const [name, header] of headers) { + if (name === "set-cookie") { + for (const cookie of normalizeCookieHeader(header)) { + outgoingHeaders.append("set-cookie", cookie); + } + } else { + outgoingHeaders.set(name, joinHeaders(header)); + } + } + return outgoingHeaders; +} + +const config = useRuntimeConfig(); +const _routeRulesMatcher = toRouteMatcher( + createRouter$1({ routes: config.nitro.routeRules }) +); +function createRouteRulesHandler(ctx) { + return eventHandler((event) => { + const routeRules = getRouteRules(event); + if (routeRules.headers) { + setHeaders(event, routeRules.headers); + } + if (routeRules.redirect) { + return sendRedirect( + event, + routeRules.redirect.to, + routeRules.redirect.statusCode + ); + } + if (routeRules.proxy) { + let target = routeRules.proxy.to; + if (target.endsWith("/**")) { + let targetPath = event.path; + const strpBase = routeRules.proxy._proxyStripBase; + if (strpBase) { + targetPath = withoutBase(targetPath, strpBase); + } + target = joinURL(target.slice(0, -3), targetPath); + } else if (event.path.includes("?")) { + const query = getQuery$1(event.path); + target = withQuery(target, query); + } + return proxyRequest(event, target, { + fetch: ctx.localFetch, + ...routeRules.proxy + }); + } + }); +} +function getRouteRules(event) { + event.context._nitro = event.context._nitro || {}; + if (!event.context._nitro.routeRules) { + event.context._nitro.routeRules = getRouteRulesForPath( + withoutBase(event.path.split("?")[0], useRuntimeConfig().app.baseURL) + ); + } + return event.context._nitro.routeRules; +} +function getRouteRulesForPath(path) { + return defu({}, ..._routeRulesMatcher.matchAll(path).reverse()); +} + +const nitro = (async function(nitro) { + nitro.hooks.hook("render:html", async (htmlContext, { event }) => { + const theme = await useStorage().getItem("pinceau:index.css"); + const pinceauContent = event?.pinceauContent || { theme: void 0, runtime: void 0 }; + if (!theme?.runtime) { + htmlContext.head.splice(2, 0, ``); + } + if (!theme?.theme) { + htmlContext.head.splice(2, 0, ``); + } + }); +}); + +const script = "\"use strict\";(()=>{const a=window,e=document.documentElement,m=[\"dark\",\"light\"],c=window.localStorage.getItem(\"nuxt-color-mode\")||\"system\";let n=c===\"system\"?f():c;const l=e.getAttribute(\"data-color-mode-forced\");l&&(n=l),i(n),a[\"__NUXT_COLOR_MODE__\"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=\"\"+o+\"\",s=\"theme\";e.classList?e.classList.add(t):e.className+=\" \"+t,s&&e.setAttribute(\"data-\"+s,o)}function d(o){const t=\"\"+o+\"\",s=\"theme\";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,\"g\"),\"\"),s&&e.removeAttribute(\"data-\"+s)}function r(o){return a.matchMedia(\"(prefers-color-scheme\"+o+\")\")}function f(){if(a.matchMedia&&r(\"\").media!==\"not all\"){for(const o of m)if(r(\":\"+o).matches)return o}return\"light\"}})();\n"; + +const _joDWOXBtEw = (function(nitro) { + nitro.hooks.hook("render:html", (htmlContext) => { + htmlContext.head.push(`\\n\\n\\n\",\"language\":\"vue\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"script\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" setup\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"config\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" useDocus\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"()\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"emptyLinePlaceholder\":true},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"template\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"h1\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">{{ config.title }}\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":8},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"p\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">{{ config.description }}\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":9},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" \\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":10},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"ul\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"tree\"}]},{\"type\":\"text\",\"value\":\" refers to the current navigation tree that is displayed in the \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside\"}]},{\"type\":\"text\",\"value\":\" component.\"}]}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-vue shiki shiki-themes github-dark github-light\",\"code\":\"\\n\\n\\n\",\"language\":\"vue\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"script\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" setup\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"tree\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" useDocus\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"()\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"emptyLinePlaceholder\":true},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"template\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#FDAEB7;--shiki-default:#B31D28;--shiki-dark-font-style:italic;--shiki-default-font-style:italic\"},\"children\":[{\"type\":\"text\",\"value\":\"DocsAsideTree\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" :links\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"tree\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" />\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"source-link\",\"props\":{\"source\":\"composables/useDocus.ts\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"usemenu\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"useMenu()\"}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"useMenu()\"}]},{\"type\":\"text\",\"value\":\" gives access to \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"$menu\"}]},{\"type\":\"text\",\"value\":\" plugin controlling mobile navigation globally.\"}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-ts shiki shiki-themes github-dark github-light\",\"code\":\"const {\\n // Is menu visible\\n visible,\\n // Close menu function\\n close,\\n // Open menu function\\n open,\\n // Toggle menu function\\n toggle\\n} = useMenu()\\n\",\"language\":\"ts\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Is menu visible\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" visible\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Close menu function\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" close\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Open menu function\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" open\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":8},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Toggle menu function\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":9},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" toggle\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":10},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"} \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" useMenu\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"()\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"source-link\",\"props\":{\"source\":\"composables/useMenu.ts\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"usescrollspy\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"useScrollspy()\"}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"useScrollspy()\"}]},{\"type\":\"text\",\"value\":\" is used in \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"docs\"}]},{\"type\":\"text\",\"value\":\" layout to make the ToC display the currently visible headings.\"}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-ts shiki shiki-themes github-dark github-light\",\"code\":\"const {\\n // Headings on the page\\n visibleHeadings,\\n // Active headings (for the current page)\\n activeHeadings,\\n // Update headings (an array of DOM nodes)\\n updateHeadings\\n} = useScrollspy()\\n\",\"language\":\"ts\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Headings on the page\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" visibleHeadings\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Active headings (for the current page)\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" activeHeadings\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#6A737D;--shiki-default:#6A737D\"},\"children\":[{\"type\":\"text\",\"value\":\" // Update headings (an array of DOM nodes)\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\" updateHeadings\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":8},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"} \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" useScrollspy\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"()\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"source-link\",\"props\":{\"source\":\"composables/useScrollspy.ts\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"style\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"usedocus\",\"depth\":2,\"text\":\"useDocus()\"},{\"id\":\"usemenu\",\"depth\":2,\"text\":\"useMenu()\"},{\"id\":\"usescrollspy\",\"depth\":2,\"text\":\"useScrollspy()\"}]}},\"_type\":\"markdown\",\"_id\":\"content:2.api:2.composables.md\",\"_source\":\"content\",\"_file\":\"2.api/2.composables.md\",\"_extension\":\"md\"},\"hash\":\"KLUw1stPmr\"}"; + +export { _2_composables as default }; +//# sourceMappingURL=2.composables.mjs.map diff --git a/.output/server/chunks/raw/2.composables.mjs.map b/.output/server/chunks/raw/2.composables.mjs.map new file mode 100644 index 0000000000..a6bb555dfb --- /dev/null +++ b/.output/server/chunks/raw/2.composables.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"2.composables.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/2.project-structure.mjs b/.output/server/chunks/raw/2.project-structure.mjs new file mode 100644 index 0000000000..b47d0f8b2a --- /dev/null +++ b/.output/server/chunks/raw/2.project-structure.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _2_projectStructure = "{\"parsed\":{\"_path\":\"/introduction/project-structure\",\"_dir\":\"introduction\",\"_draft\":false,\"_partial\":false,\"_locale\":\"\",\"title\":\"Project Structure\",\"description\":\"Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home.\",\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"h1\",\"props\":{\"id\":\"project-structure\"},\"children\":[{\"type\":\"text\",\"value\":\"Project Structure\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus is a Nuxt theme that provides a ready-to-use documentation website, if you are familiar with Nuxt, you will feel right at home.\"}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"directory-structure\"},\"children\":[{\"type\":\"text\",\"value\":\"Directory Structure\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"This is the minimal directory structure to get an up and running Docus website.\"}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-bash shiki shiki-themes github-dark github-light\",\"code\":\"content/\\n index.md\\napp.config.ts\\nnuxt.config.ts\\n\",\"language\":\"bash\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\"content/\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" index.md\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\"app.config.ts\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\"nuxt.config.ts\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"content/\"}]},{\"type\":\"text\",\"value\":\" directory is where you \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"/introduction/writing-pages\"},\"children\":[{\"type\":\"text\",\"value\":\"write Markdown pages\"}]},{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"app.config.ts\"}]},{\"type\":\"text\",\"value\":\" is where you \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"/introduction/configuration\"},\"children\":[{\"type\":\"text\",\"value\":\"configure Docus\"}]},{\"type\":\"text\",\"value\":\" to fit your branding and design.\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"nuxt.config.ts\"}]},{\"type\":\"text\",\"value\":\" is your \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://nuxt.com/docs/getting-started/configuration\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"Nuxt configuration\"}]},{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"style\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"directory-structure\",\"depth\":2,\"text\":\"Directory Structure\"}]}},\"_type\":\"markdown\",\"_id\":\"content:1.introduction:2.project-structure.md\",\"_source\":\"content\",\"_file\":\"1.introduction/2.project-structure.md\",\"_extension\":\"md\"},\"hash\":\"yz2gPqdhll\"}"; + +export { _2_projectStructure as default }; +//# sourceMappingURL=2.project-structure.mjs.map diff --git a/.output/server/chunks/raw/2.project-structure.mjs.map b/.output/server/chunks/raw/2.project-structure.mjs.map new file mode 100644 index 0000000000..1505f5deee --- /dev/null +++ b/.output/server/chunks/raw/2.project-structure.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"2.project-structure.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/3.layouts.mjs b/.output/server/chunks/raw/3.layouts.mjs new file mode 100644 index 0000000000..5a67e42dd6 --- /dev/null +++ b/.output/server/chunks/raw/3.layouts.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _3_layouts = "{\"parsed\":{\"_path\":\"/api/layouts\",\"_dir\":\"api\",\"_draft\":false,\"_partial\":false,\"_locale\":\"\",\"title\":\"Layouts\",\"description\":\"Docus provides multiple built-in layouts for displaying your Markdown pages.\",\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"h1\",\"props\":{\"id\":\"layouts\"},\"children\":[{\"type\":\"text\",\"value\":\"Layouts\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus provides multiple built-in layouts for displaying your Markdown pages.\"}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"default\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The default layout for every page created in the project. This layout renders multiple section alongside the content:\"}]},{\"type\":\"element\",\"tag\":\"ul\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Aside navigation menu (togglable with \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside: false/true\"}]},{\"type\":\"text\",\"value\":\")\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Page bottom section (togglable with \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"bottom: false/true\"}]},{\"type\":\"text\",\"value\":\")\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Table of content (togglable with \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"toc: false/true\"}]},{\"type\":\"text\",\"value\":\")\"}]}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-md shiki shiki-themes github-dark github-light\",\"code\":\"---\\naside: true\\nbottom: true\\ntoc: false\\n---\\n\\nYour awesome content\\n\",\"filename\":\"index.md\",\"language\":\"md\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"aside\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"true\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"bottom\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"true\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"toc\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"false\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"emptyLinePlaceholder\":true},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"Your awesome content\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Current page is live sample of default layout.\"}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"page\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"page\"}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"page\"}]},{\"type\":\"text\",\"value\":\" layout is content focused layout. This layout does not render aside menu of table of contents.\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"This layout accept some configuration from content front-matter.\"}]},{\"type\":\"element\",\"tag\":\"ul\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"fluid\"}]},{\"type\":\"text\",\"value\":\": By setting \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"fluid: true\"}]},{\"type\":\"text\",\"value\":\" in content front-matter the content will be rendered in full width.\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"constrainedClass\"}]},{\"type\":\"text\",\"value\":\": Using this option you can modify layout container look. Like constraining layout width of changing the background.\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"padded\"}]},{\"type\":\"text\",\"value\":\": Setting \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"padded: true\"}]},{\"type\":\"text\",\"value\":\" in front-matter will add horizontal padding in the layout.\"}]}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-md shiki shiki-themes github-dark github-light\",\"code\":\"---\\ntitle: Home\\nlayout: page\\nfluid: true\\n---\\n\",\"filename\":\"index.md\",\"language\":\"md\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"title\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"Home\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"layout\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"page\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"fluid\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"true\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Check \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"/\"},\"children\":[{\"type\":\"text\",\"value\":\"Home page\"}]},{\"type\":\"text\",\"value\":\" as live sample of page layout\"}]},{\"type\":\"element\",\"tag\":\"style\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"default\",\"depth\":2,\"text\":\"default\"},{\"id\":\"page\",\"depth\":2,\"text\":\"page\"}]}},\"_type\":\"markdown\",\"_id\":\"content:2.api:3.layouts.md\",\"_source\":\"content\",\"_file\":\"2.api/3.layouts.md\",\"_extension\":\"md\"},\"hash\":\"NqPfIeAMBi\"}"; + +export { _3_layouts as default }; +//# sourceMappingURL=3.layouts.mjs.map diff --git a/.output/server/chunks/raw/3.layouts.mjs.map b/.output/server/chunks/raw/3.layouts.mjs.map new file mode 100644 index 0000000000..71662752de --- /dev/null +++ b/.output/server/chunks/raw/3.layouts.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"3.layouts.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/3.writing-pages.mjs b/.output/server/chunks/raw/3.writing-pages.mjs new file mode 100644 index 0000000000..81ce8f5aa6 --- /dev/null +++ b/.output/server/chunks/raw/3.writing-pages.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _3_writingPages = "{\"parsed\":{\"_path\":\"/introduction/writing-pages\",\"_dir\":\"introduction\",\"_draft\":false,\"_partial\":false,\"_locale\":\"\",\"title\":\"Writing Pages\",\"description\":\"Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax.\",\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"h1\",\"props\":{\"id\":\"writing-pages\"},\"children\":[{\"type\":\"text\",\"value\":\"Writing Pages\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus is made to let you write all your content in Markdown and Vue components with the MDC syntax.\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Each Markdown pages in the \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"content/\"}]},{\"type\":\"text\",\"value\":\" folder will be mapped to a route.\"}]},{\"type\":\"element\",\"tag\":\"table\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"thead\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"File\"}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"text\",\"value\":\"Generated route\"}]}]}]},{\"type\":\"element\",\"tag\":\"tbody\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"index.md\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"about.md\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/about\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"blog/index.md\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/blog\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"blog/hello.md\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/blog/hello\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"1.guide/2.installation\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{\"align\":\"left\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/guide/installation\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"frontmatter\"},\"children\":[{\"type\":\"text\",\"value\":\"Frontmatter\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus supports multiple Front-matter attributes for pages.\"}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-md shiki shiki-themes github-dark github-light\",\"code\":\"---\\ntitle: \\\"Get Started\\\"\\ndescription: \\\"Let's learn how to use my amazing module.\\\"\\n---\\n\",\"filename\":\"index.md\",\"language\":\"md\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"title\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"Get Started\\\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"description\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"Let's learn how to use my amazing module.\\\"\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"---\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"table\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"thead\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Key\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Type\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Default\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Description\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"tbody\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"layout\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Use any layout name like you would in \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"definePageMeta()\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"title\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Defines the page title and H1 in docs pages\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"description\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Defines the page description and excerpt in docs pages\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"redirect\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A route path to redirect\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"image\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"OpenGraph cover image\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docs layout options\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggles the visibility of aside navigation\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"toc\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggles the visibility of table of contents\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggles the visibility of the page header\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"bottom\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggles the visibility of page bottom section\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Navigation options\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"navigation\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggles the visibility of the page or directory in navigation\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"navigation.title\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Changes the name of the page or directory in navigation\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"navigation.icon\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Changes the icon of the page or directory in navigation\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"style\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"frontmatter\",\"depth\":2,\"text\":\"Frontmatter\"}]}},\"_type\":\"markdown\",\"_id\":\"content:1.introduction:3.writing-pages.md\",\"_source\":\"content\",\"_file\":\"1.introduction/3.writing-pages.md\",\"_extension\":\"md\"},\"hash\":\"sP6HaEJCoN\"}"; + +export { _3_writingPages as default }; +//# sourceMappingURL=3.writing-pages.mjs.map diff --git a/.output/server/chunks/raw/3.writing-pages.mjs.map b/.output/server/chunks/raw/3.writing-pages.mjs.map new file mode 100644 index 0000000000..642b9ccb37 --- /dev/null +++ b/.output/server/chunks/raw/3.writing-pages.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"3.writing-pages.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/4.configuration.mjs b/.output/server/chunks/raw/4.configuration.mjs new file mode 100644 index 0000000000..573b53d640 --- /dev/null +++ b/.output/server/chunks/raw/4.configuration.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _4_configuration = "{\"parsed\":{\"_path\":\"/introduction/configuration\",\"_dir\":\"introduction\",\"_draft\":false,\"_partial\":false,\"_locale\":\"\",\"title\":\"Configuration\",\"description\":\"Learn how to configure Docus.\",\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"h1\",\"props\":{\"id\":\"configuration\"},\"children\":[{\"type\":\"text\",\"value\":\"Configuration\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Learn how to configure Docus.\"}]},{\"type\":\"element\",\"tag\":\"code-group\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-ts shiki shiki-themes github-dark github-light\",\"code\":\"export default defineAppConfig({\\n docus: {\\n title: 'Docus',\\n description: 'My Docus Project',\\n url: 'http://docus.dev'\\n }\\n})\\n\",\"filename\":\"Minimal app.config.ts\",\"language\":\"ts\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\" default\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" defineAppConfig\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"({\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" docus: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" title: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'Docus'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" description: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'My Docus Project'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" url: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'http://docus.dev'\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" }\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"})\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-ts shiki shiki-themes github-dark github-light\",\"code\":\"export default defineAppConfig({\\n docus: {\\n title: 'Docus',\\n description: 'My Docus Project',\\n url: 'http://docus.dev',\\n image: '/social-card-preview.png',\\n socials: {\\n twitter: '@nuxt_js',\\n github: 'nuxt-themes/docus',\\n },\\n github: {\\n root: 'content',\\n edit: true,\\n contributors: false\\n },\\n layout: 'default',\\n aside: {\\n level: 1,\\n filter: [],\\n },\\n header: {\\n title: false,\\n logo: true,\\n showLinkIcon: false\\n },\\n footer: {\\n credits: {\\n icon: 'IconDocus',\\n text: 'Powered by Docus',\\n href: 'https://docus.dev',\\n },\\n textLinks: [\\n {\\n text: 'Nuxt',\\n href: 'https://nuxt.com',\\n target: '_blank',\\n rel: 'noopener'\\n }\\n ],\\n iconLinks: [\\n {\\n label: 'NuxtJS',\\n href: 'https://nuxtjs.org',\\n component: 'IconNuxtLabs',\\n },\\n {\\n label: 'Vue Telescope',\\n href: 'https://vuetelescope.com',\\n component: 'IconVueTelescope',\\n },\\n ],\\n }\\n }\\n})\\n\",\"filename\":\"Complete app.config.ts\",\"language\":\"ts\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#F97583;--shiki-default:#D73A49\"},\"children\":[{\"type\":\"text\",\"value\":\" default\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" defineAppConfig\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"({\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" docus: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" title: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'Docus'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":4},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" description: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'My Docus Project'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":5},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" url: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'http://docus.dev'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":6},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" image: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'/social-card-preview.png'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":7},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" socials: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":8},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" twitter: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'@nuxt_js'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":9},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" github: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'nuxt-themes/docus'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":10},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":11},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" github: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":12},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" root: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'content'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":13},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" edit: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":14},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" contributors: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"false\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":15},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":16},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" layout: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'default'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":17},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" aside: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":18},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" level: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"1\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":19},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" filter: [],\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":20},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":21},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" header: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":22},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" title: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"false\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":23},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" logo: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":24},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" showLinkIcon: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#79B8FF;--shiki-default:#005CC5\"},\"children\":[{\"type\":\"text\",\"value\":\"false\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":25},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":26},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" footer: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":27},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" credits: {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":28},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" icon: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'IconDocus'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":29},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" text: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'Powered by Docus'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":30},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" href: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'https://docus.dev'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":31},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":32},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" textLinks: [\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":33},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":34},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" text: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'Nuxt'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":35},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" href: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'https://nuxt.com'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":36},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" target: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'_blank'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":37},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" rel: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'noopener'\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":38},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" }\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":39},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" ],\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":40},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" iconLinks: [\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":41},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":42},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" label: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'NuxtJS'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":43},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" href: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'https://nuxtjs.org'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":44},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" component: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'IconNuxtLabs'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":45},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":46},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" {\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":47},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" label: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'Vue Telescope'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":48},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" href: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'https://vuetelescope.com'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":49},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" component: \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"'IconVueTelescope'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\",\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":50},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" },\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":51},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" ],\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":52},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" }\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":53},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" }\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":54},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"})\\n\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"table\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"thead\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Key\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Type\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Default\"}]}]},{\"type\":\"element\",\"tag\":\"th\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Description\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"tbody\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"title\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus\"}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Website title\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"titleTemplate\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Docus\"}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Website title template\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"description\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"My Docus Project\"}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Website description\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"url\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Website URL\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"layout\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Fallback layout to use (supports \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]},{\"type\":\"text\",\"value\":\" or \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"page\"}]},{\"type\":\"text\",\"value\":\")\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Socials\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"{}\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Social links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.github\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The repository to use on GitHub links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.twitter\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The account to use on Twitter links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.youtube\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The channel to use on Youtube links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.instagram\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The account to use on Instagram links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.facebook\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The account to use on Facebook links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.medium\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The account to use on Medium links\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.[social]\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Override social or display custom one\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.[social].label\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A label to use for the social\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.[social].icon\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A icon to use for the social\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.[social].href\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A link to use for the social\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"socials.[social].rel\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"noopener noreferrer\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A space-separated list of \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"link types\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Header\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Header configuration\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header.logo\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Whether or not to use \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"Logo.vue\"}]},{\"type\":\"text\",\"value\":\" as the header logo\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header.title\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"If set to a string, will be used in the header\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header.showLinkIcon\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"If set to \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]},{\"type\":\"text\",\"value\":\" links icons will show in the header\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header.exclude\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string[]\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"An array of path to exclude out from the header navigation\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"header.fluid\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Make header \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"Container\"}]},{\"type\":\"text\",\"value\":\" fluid\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Main\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"main\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Main configuration\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"main.fluid\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Make main content \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"Container\"}]},{\"type\":\"text\",\"value\":\" fluid\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"main.padded\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Make main content \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"Container\"}]},{\"type\":\"text\",\"value\":\" padded\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Aside\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Aside configuration\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside.level\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"0\"}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Aside base level of nesting\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside.collapsed\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Will be used as default value for collapsible navigation categories\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"aside.exclude\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string[]\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"An array of path to exclude out from the aside navigation\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Footer\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Footer configuration\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.credits\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"An object defining the bottom left credits\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.credits.icon\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The icon to use for the credits\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.credits.text\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The text to use for the credits\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.textLinks\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"array\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"[]\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"An array of texts to display at the center of footer\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.textLinks[0].text\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The text to display\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.textLinks[0].href\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A link to use for the text\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.textLinks[0].target\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"_self\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Where to display the linked URL, as the name for a browsing context\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.textLinks[0].rel\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"noopener noreferrer\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A space-separated list of \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"link types\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.iconLinks\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"array\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"[]\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"An array of icons to display in the footer\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.iconLinks[0].label\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A label to use for the icon\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.iconLinks[0].href\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A link to use for the icon\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.iconLinks[0].icon\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"The icon to use (can be a component name)\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.iconLinks[0].rel\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"noopener noreferrer\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"A space-separated list of \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"link types\"}]}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"footer.fluid\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"true\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Make footer \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"Container\"}]},{\"type\":\"text\",\"value\":\" fluid\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"GitHub\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"false\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"GitHub integration configuration\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github.dir\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Directory containing the files to be edited\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github.branch\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Branch to start editing\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github.repo\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Name of the GitHub repo to edit files\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github.owner\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Owner of the repo\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"github.edit\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"boolean\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Toggle \\\"Edit this page on Github\\\" component on documentation pages\"}]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"strong\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Search\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]}]},{\"type\":\"element\",\"tag\":\"tr\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"fuse\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]}]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[]},{\"type\":\"element\",\"tag\":\"td\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"useFuse \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://vueuse.org/integrations/useFuse/\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"options\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"customizing-the-logo\"},\"children\":[{\"type\":\"text\",\"value\":\"Customizing the logo\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"To update the logo in the header, create a component in \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"components/Logo.vue\"}]},{\"type\":\"text\",\"value\":\" with your own logo.\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"In this example, the image is located at \"},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"className\":\"\"},\"children\":[{\"type\":\"text\",\"value\":\"/public/img\"}]},{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"pre\",\"props\":{\"className\":\"language-vue shiki shiki-themes github-dark github-light\",\"code\":\"\\n\",\"filename\":\"components/Logo.vue\",\"language\":\"vue\",\"meta\":\"\",\"style\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":1},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"template\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\">\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":2},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#85E89D;--shiki-default:#22863A\"},\"children\":[{\"type\":\"text\",\"value\":\"img\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" width\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"120\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#B392F0;--shiki-default:#6F42C1\"},\"children\":[{\"type\":\"text\",\"value\":\" src\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#9ECBFF;--shiki-default:#032F62\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"/img/YOURLOGO.png\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"/>\\n\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\",\"line\":3},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"style\":\"--shiki-dark:#E1E4E8;--shiki-default:#24292E\"},\"children\":[{\"type\":\"text\",\"value\":\"\\n\"}]}]}]}]},{\"type\":\"element\",\"tag\":\"style\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"customizing-the-logo\",\"depth\":2,\"text\":\"Customizing the logo\"}]}},\"_type\":\"markdown\",\"_id\":\"content:1.introduction:4.configuration.md\",\"_source\":\"content\",\"_file\":\"1.introduction/4.configuration.md\",\"_extension\":\"md\"},\"hash\":\"tuz433A8m1\"}"; + +export { _4_configuration as default }; +//# sourceMappingURL=4.configuration.mjs.map diff --git a/.output/server/chunks/raw/4.configuration.mjs.map b/.output/server/chunks/raw/4.configuration.mjs.map new file mode 100644 index 0000000000..59eddd635c --- /dev/null +++ b/.output/server/chunks/raw/4.configuration.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"4.configuration.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/_dir.mjs b/.output/server/chunks/raw/_dir.mjs new file mode 100644 index 0000000000..1bd2d31b28 --- /dev/null +++ b/.output/server/chunks/raw/_dir.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _dir = "{\"parsed\":{\"_path\":\"/introduction/_dir\",\"_dir\":\"introduction\",\"_draft\":false,\"_partial\":true,\"_locale\":\"\",\"icon\":\"ph:star-duotone\",\"navigation\":{\"redirect\":\"/introduction/getting-started\"},\"_id\":\"content:1.introduction:_dir.yml\",\"_type\":\"yaml\",\"title\":\"Dir\",\"_source\":\"content\",\"_file\":\"1.introduction/_dir.yml\",\"_extension\":\"yml\"},\"hash\":\"6VDGAFHICW\"}"; + +export { _dir as default }; +//# sourceMappingURL=_dir.mjs.map diff --git a/.output/server/chunks/raw/_dir.mjs.map b/.output/server/chunks/raw/_dir.mjs.map new file mode 100644 index 0000000000..5170faab08 --- /dev/null +++ b/.output/server/chunks/raw/_dir.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_dir.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/_dir2.mjs b/.output/server/chunks/raw/_dir2.mjs new file mode 100644 index 0000000000..47b5d7b6c7 --- /dev/null +++ b/.output/server/chunks/raw/_dir2.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const _dir = "{\"parsed\":{\"_path\":\"/api/_dir\",\"_dir\":\"api\",\"_draft\":false,\"_partial\":true,\"_locale\":\"\",\"title\":\"API\",\"icon\":\"heroicons-outline:bookmark-alt\",\"_id\":\"content:2.api:_dir.yml\",\"_type\":\"yaml\",\"_source\":\"content\",\"_file\":\"2.api/_dir.yml\",\"_extension\":\"yml\"},\"hash\":\"x0tO16eDEH\"}"; + +export { _dir as default }; +//# sourceMappingURL=_dir2.mjs.map diff --git a/.output/server/chunks/raw/_dir2.mjs.map b/.output/server/chunks/raw/_dir2.mjs.map new file mode 100644 index 0000000000..553c360bd4 --- /dev/null +++ b/.output/server/chunks/raw/_dir2.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_dir2.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/content-index.mjs b/.output/server/chunks/raw/content-index.mjs new file mode 100644 index 0000000000..c6fa8a646a --- /dev/null +++ b/.output/server/chunks/raw/content-index.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const contentIndex = "{\"/\":[\"content:0.index.md\"],\"/introduction/getting-started\":[\"content:1.introduction:1.getting-started.md\"],\"/introduction/project-structure\":[\"content:1.introduction:2.project-structure.md\"],\"/introduction/writing-pages\":[\"content:1.introduction:3.writing-pages.md\"],\"/introduction/configuration\":[\"content:1.introduction:4.configuration.md\"],\"/introduction/_dir\":[\"content:1.introduction:_dir.yml\"],\"/api/components\":[\"content:2.api:1.components.md\"],\"/api/composables\":[\"content:2.api:2.composables.md\"],\"/api/layouts\":[\"content:2.api:3.layouts.md\"],\"/api/_dir\":[\"content:2.api:_dir.yml\"]}"; + +export { contentIndex as default }; +//# sourceMappingURL=content-index.mjs.map diff --git a/.output/server/chunks/raw/content-index.mjs.map b/.output/server/chunks/raw/content-index.mjs.map new file mode 100644 index 0000000000..1817effe4c --- /dev/null +++ b/.output/server/chunks/raw/content-index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"content-index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/content-navigation.mjs b/.output/server/chunks/raw/content-navigation.mjs new file mode 100644 index 0000000000..baf5a7ed92 --- /dev/null +++ b/.output/server/chunks/raw/content-navigation.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const contentNavigation = "[{\"title\":\"Introduction\",\"_path\":\"/introduction\",\"children\":[{\"title\":\"Getting Started\",\"_path\":\"/introduction/getting-started\"},{\"title\":\"Project Structure\",\"_path\":\"/introduction/project-structure\"},{\"title\":\"Writing Pages\",\"_path\":\"/introduction/writing-pages\"},{\"title\":\"Configuration\",\"_path\":\"/introduction/configuration\"}],\"icon\":\"ph:star-duotone\",\"redirect\":\"/introduction/getting-started\"},{\"title\":\"API\",\"_path\":\"/api\",\"children\":[{\"title\":\"Components\",\"_path\":\"/api/components\"},{\"title\":\"Composables\",\"_path\":\"/api/composables\"},{\"title\":\"Layouts\",\"_path\":\"/api/layouts\"}],\"icon\":\"heroicons-outline:bookmark-alt\"}]"; + +export { contentNavigation as default }; +//# sourceMappingURL=content-navigation.mjs.map diff --git a/.output/server/chunks/raw/content-navigation.mjs.map b/.output/server/chunks/raw/content-navigation.mjs.map new file mode 100644 index 0000000000..b606b376a0 --- /dev/null +++ b/.output/server/chunks/raw/content-navigation.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"content-navigation.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/raw/index.mjs b/.output/server/chunks/raw/index.mjs new file mode 100644 index 0000000000..64b8d8379d --- /dev/null +++ b/.output/server/chunks/raw/index.mjs @@ -0,0 +1,5 @@ +// ROLLUP_NO_REPLACE + const index = "@media { :root {--pinceau-mq: initial; --docus-search-results-highlight-color: white;--docus-search-results-window-maxHeight: 100%;--docus-search-results-window-maxWidth: 640px;--docus-search-results-window-marginTop: 0;--docus-search-input-borderStyle: solid;--docus-search-input-borderWidth: 1px;--docus-search-backdropFilter: blur(24px);--docus-loadingBar-gradientColorStop3: #0047e1;--docus-loadingBar-gradientColorStop2: #34cdfe;--docus-loadingBar-gradientColorStop1: #00dc82;--docus-loadingBar-height: 3px;--docus-readableLine: 78ch;--docus-footer-height: 145px;--docus-header-height: 64px;--prose-code-inline-padding: 0.2rem 0.375rem 0.2rem 0.375rem;--prose-code-block-backdropFilter: contrast(1);--prose-code-block-border-style: solid;--prose-code-block-border-width: 1px;--prose-tbody-tr-borderBottom-style: dashed;--prose-tbody-tr-borderBottom-width: 1px;--prose-th-textAlign: inherit;--prose-thead-borderBottom-style: solid;--prose-thead-borderBottom-width: 1px;--prose-thead-border-style: solid;--prose-thead-border-width: 0px;--prose-table-textAlign: start;--prose-hr-width: 1px;--prose-hr-style: solid;--prose-li-listStylePosition: outside;--prose-ol-li-markerColor: currentColor;--prose-ol-paddingInlineStart: 21px;--prose-ol-listStyleType: decimal;--prose-ul-li-markerColor: currentColor;--prose-ul-paddingInlineStart: 21px;--prose-ul-listStyleType: disc;--prose-blockquote-border-style: solid;--prose-blockquote-border-width: 4px;--prose-blockquote-quotes: '201C' '201D' '2018' '2019';--prose-blockquote-paddingInlineStart: 24px;--prose-a-code-color-hover: currentColor;--prose-a-code-color-static: currentColor;--prose-a-hasCode-borderBottom: none;--prose-a-border-distance: 2px;--prose-a-border-color-hover: currentColor;--prose-a-border-color-static: currentColor;--prose-a-border-style-hover: solid;--prose-a-border-style-static: dashed;--prose-a-border-width: 1px;--prose-a-color-static: inherit;--prose-a-textDecoration: none;--prose-h6-margin: 3rem 0 2rem;--prose-h5-margin: 3rem 0 2rem;--prose-h4-margin: 3rem 0 2rem;--prose-h3-margin: 3rem 0 2rem;--prose-h2-margin: 3rem 0 2rem;--prose-h1-margin: 0 0 2rem;--typography-lead-loose: 2;--typography-lead-relaxed: 1.625;--typography-lead-normal: 1.5;--typography-lead-snug: 1.375;--typography-lead-tight: 1.25;--typography-lead-none: 1;--typography-lead-10: 2.5rem;--typography-lead-9: 2.25rem;--typography-lead-8: 2rem;--typography-lead-7: 1.75rem;--typography-lead-6: 1.5rem;--typography-lead-5: 1.25rem;--typography-lead-4: 1rem;--typography-lead-3: .75rem;--typography-lead-2: .5rem;--typography-lead-1: .025rem;--typography-fontWeight-black: 900;--typography-fontWeight-extrabold: 800;--typography-fontWeight-bold: 700;--typography-fontWeight-semibold: 600;--typography-fontWeight-medium: 500;--typography-fontWeight-normal: 400;--typography-fontWeight-light: 300;--typography-fontWeight-extralight: 200;--typography-fontWeight-thin: 100;--typography-fontSize-9xl: 128px;--typography-fontSize-8xl: 96px;--typography-fontSize-7xl: 72px;--typography-fontSize-6xl: 60px;--typography-fontSize-5xl: 48px;--typography-fontSize-4xl: 36px;--typography-fontSize-3xl: 30px;--typography-fontSize-2xl: 24px;--typography-fontSize-xl: 20px;--typography-fontSize-lg: 18px;--typography-fontSize-base: 16px;--typography-fontSize-sm: 14px;--typography-fontSize-xs: 12px;--typography-letterSpacing-wide: 0.025em;--typography-letterSpacing-tight: -0.025em;--typography-verticalMargin-base: 24px;--typography-verticalMargin-sm: 16px;--elements-border-secondary-hover: [object Object];--elements-backdrop-background: #fffc;--elements-backdrop-filter: saturate(200%) blur(20px);--elements-container-maxWidth: 80rem;--lead-loose: 2;--lead-relaxed: 1.625;--lead-normal: 1.5;--lead-snug: 1.375;--lead-tight: 1.25;--lead-none: 1;--lead-10: 2.5rem;--lead-9: 2.25rem;--lead-8: 2rem;--lead-7: 1.75rem;--lead-6: 1.5rem;--lead-5: 1.25rem;--lead-4: 1rem;--lead-3: .75rem;--lead-2: .5rem;--lead-1: .025rem;--letterSpacing-widest: 0.1em;--letterSpacing-wider: 0.05em;--letterSpacing-wide: 0.025em;--letterSpacing-normal: 0em;--letterSpacing-tight: -0.025em;--letterSpacing-tighter: -0.05em;--fontSize-9xl: 8rem;--fontSize-8xl: 6rem;--fontSize-7xl: 4.5rem;--fontSize-6xl: 3.75rem;--fontSize-5xl: 3rem;--fontSize-4xl: 2.25rem;--fontSize-3xl: 1.875rem;--fontSize-2xl: 1.5rem;--fontSize-xl: 1.25rem;--fontSize-lg: 1.125rem;--fontSize-base: 1rem;--fontSize-sm: 0.875rem;--fontSize-xs: 0.75rem;--fontWeight-black: 900;--fontWeight-extrabold: 800;--fontWeight-bold: 700;--fontWeight-semibold: 600;--fontWeight-medium: 500;--fontWeight-normal: 400;--fontWeight-light: 300;--fontWeight-extralight: 200;--fontWeight-thin: 100;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--font-serif: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--opacity-total: 1;--opacity-high: 0.8;--opacity-medium: 0.5;--opacity-soft: 0.3;--opacity-light: 0.15;--opacity-bright: 0.1;--opacity-noOpacity: 0;--borderWidth-lg: 3px;--borderWidth-md: 2px;--borderWidth-sm: 1px;--borderWidth-noBorder: 0;--space-rem-875: 0.875rem;--space-rem-625: 0.625rem;--space-rem-375: 0.375rem;--space-rem-125: 0.125rem;--space-px: 1px;--space-128: 32rem;--space-96: 24rem;--space-80: 20rem;--space-72: 18rem;--space-64: 16rem;--space-60: 15rem;--space-56: 14rem;--space-52: 13rem;--space-48: 12rem;--space-44: 11rem;--space-40: 10rem;--space-36: 9rem;--space-32: 8rem;--space-28: 7rem;--space-24: 6rem;--space-20: 5rem;--space-16: 4rem;--space-14: 3.5rem;--space-12: 3rem;--space-11: 2.75rem;--space-10: 2.5rem;--space-9: 2.25rem;--space-8: 2rem;--space-7: 1.75rem;--space-6: 1.5rem;--space-5: 1.25rem;--space-4: 1rem;--space-3: 0.75rem;--space-2: 0.5rem;--space-1: 0.25rem;--space-0: 0px;--size-full: 100%;--size-7xl: 80rem;--size-6xl: 72rem;--size-5xl: 64rem;--size-4xl: 56rem;--size-3xl: 48rem;--size-2xl: 42rem;--size-xl: 36rem;--size-lg: 32rem;--size-md: 28rem;--size-sm: 24rem;--size-xs: 20rem;--size-200: 200px;--size-104: 104px;--size-80: 80px;--size-64: 64px;--size-56: 56px;--size-48: 48px;--size-40: 40px;--size-32: 32px;--size-24: 24px;--size-20: 20px;--size-16: 16px;--size-12: 12px;--size-8: 8px;--size-6: 6px;--size-4: 4px;--size-2: 2px;--size-0: 0px;--radii-full: 9999px;--radii-3xl: 1.75rem;--radii-2xl: 1.5rem;--radii-xl: 1rem;--radii-lg: 0.75rem;--radii-md: 0.5rem;--radii-sm: 0.375rem;--radii-xs: 0.25rem;--radii-2xs: 0.125rem;--radii-none: 0px;--shadow-none: 0px 0px 0px 0px transparent;--height-screen: 100vh;--width-screen: 100vw;--color-primary-900: #001A1F;--color-primary-800: #00232B;--color-primary-700: #024757;--color-primary-600: #09A0C1;--color-primary-500: #1AD6FF;--color-primary-400: #55E1FF;--color-primary-300: #82E3FF;--color-primary-200: #C5F2FF;--color-primary-100: #DCF7FF;--color-primary-50: #F1FCFF;--color-ruby-900: #380011;--color-ruby-800: #700021;--color-ruby-700: #a90032;--color-ruby-600: #e10043;--color-ruby-500: #ff1a5e;--color-ruby-400: #ff4079;--color-ruby-300: #ff6694;--color-ruby-200: #ff8dae;--color-ruby-100: #ffb3c9;--color-ruby-50: #ffd9e4;--color-pink-900: #380025;--color-pink-800: #70004b;--color-pink-700: #a90070;--color-pink-600: #e10095;--color-pink-500: #ff1ab2;--color-pink-400: #ff40bf;--color-pink-300: #ff66cc;--color-pink-200: #ff8dd8;--color-pink-100: #ffb3e5;--color-pink-50: #ffd9f2;--color-purple-900: #190038;--color-purple-800: #330070;--color-purple-700: #4c00a9;--color-purple-600: #6500e1;--color-purple-500: #811aff;--color-purple-400: #9640ff;--color-purple-300: #ab66ff;--color-purple-200: #c08dff;--color-purple-100: #d5b3ff;--color-purple-50: #ead9ff;--color-royalblue-900: #0b0531;--color-royalblue-800: #160a62;--color-royalblue-700: #211093;--color-royalblue-600: #2c15c4;--color-royalblue-500: #4127e8;--color-royalblue-400: #614bec;--color-royalblue-300: #806ff0;--color-royalblue-200: #a093f3;--color-royalblue-100: #c0b7f7;--color-royalblue-50: #dfdbfb;--color-indigoblue-900: #001238;--color-indigoblue-800: #002370;--color-indigoblue-700: #0035a9;--color-indigoblue-600: #0047e1;--color-indigoblue-500: #1a62ff;--color-indigoblue-400: #407cff;--color-indigoblue-300: #6696ff;--color-indigoblue-200: #8db0ff;--color-indigoblue-100: #b3cbff;--color-indigoblue-50: #d9e5ff;--color-blue-900: #00131D;--color-blue-800: #002235;--color-blue-700: #014267;--color-blue-600: #0069A6;--color-blue-500: #1AADFF;--color-blue-400: #64C7FF;--color-blue-300: #A1DDFF;--color-blue-200: #C6EAFF;--color-blue-100: #DFF3FF;--color-blue-50: #F2FAFF;--color-lightblue-900: #002e38;--color-lightblue-800: #005c70;--color-lightblue-700: #008aa9;--color-lightblue-600: #00b9e1;--color-lightblue-500: #1ad6ff;--color-lightblue-400: #40ddff;--color-lightblue-300: #66e4ff;--color-lightblue-200: #8deaff;--color-lightblue-100: #b3f1ff;--color-lightblue-50: #d9f8ff;--color-teal-900: #062a28;--color-teal-800: #0b544f;--color-teal-700: #117d77;--color-teal-600: #16a79e;--color-teal-500: #1cd1c6;--color-teal-400: #36e4da;--color-teal-300: #5fe9e1;--color-teal-200: #87efe9;--color-teal-100: #aff4f0;--color-teal-50: #d7faf8;--color-pear-900: #2a2b09;--color-pear-800: #545512;--color-pear-700: #7e801b;--color-pear-600: #a8aa24;--color-pear-500: #d0d32f;--color-pear-400: #d8da52;--color-pear-300: #e0e274;--color-pear-200: #e8e997;--color-pear-100: #eff0ba;--color-pear-50: #f7f8dc;--color-red-900: #1C0301;--color-red-800: #340A01;--color-red-700: #701704;--color-red-600: #BB2402;--color-red-500: #FF3B10;--color-red-400: #FF7353;--color-red-300: #FFA692;--color-red-200: #FFDED7;--color-red-100: #FFF3F0;--color-red-50: #FFF9F8;--color-orange-900: #381800;--color-orange-800: #702f00;--color-orange-700: #a94700;--color-orange-600: #e15e00;--color-orange-500: #ff7a1a;--color-orange-400: #ff9040;--color-orange-300: #ffa666;--color-orange-200: #ffbd8d;--color-orange-100: #ffd3b3;--color-orange-50: #ffe9d9;--color-yellow-900: #1B1500;--color-yellow-800: #292100;--color-yellow-700: #614E02;--color-yellow-600: #CBA408;--color-yellow-500: #FBCA05;--color-yellow-400: #FFDC4E;--color-yellow-300: #FFE372;--color-yellow-200: #FFF0B1;--color-yellow-100: #FFF6D3;--color-yellow-50: #FFFCEE;--color-green-900: #00190F;--color-green-800: #002817;--color-green-700: #006037;--color-green-600: #00B467;--color-green-500: #0DD885;--color-green-400: #3CEEA5;--color-green-300: #86FBCB;--color-green-200: #C3FFE6;--color-green-100: #DEFFF1;--color-green-50: #ECFFF7;--color-gray-900: #121110;--color-gray-800: #201E1B;--color-gray-700: #36332E;--color-gray-600: #67635D;--color-gray-500: #97948F;--color-gray-400: #ADA9A4;--color-gray-300: #DBD9D3;--color-gray-200: #ECEBE8;--color-gray-100: #F6F5F4;--color-gray-50: #FBFBFB;--color-black: #0B0A0A;--color-white: #ffffff;--media-portrait: only screen and (orientation: portrait);--media-landscape: only screen and (orientation: landscape);--media-rm: (prefers-reduced-motion: reduce);--media-2xl: (min-width: 1536px);--media-xl: (min-width: 1280px);--media-lg: (min-width: 1024px);--media-md: (min-width: 768px);--media-sm: (min-width: 640px);--media-xs: (min-width: 475px);--docus-search-results-highlight-backgroundColor: var(--color-primary-500);--docus-search-results-selected-backgroundColor: var(--color-gray-300);--docus-search-results-window-borderRadius: none;--docus-search-results-window-marginX: 0;--docus-search-input-backgroundColor: var(--color-gray-200);--docus-search-input-padding: var(--space-2) var(--space-4);--docus-search-input-gap: var(--space-2);--docus-search-input-fontSize: var(--fontSize-sm);--docus-search-input-borderColor: var(--color-gray-200);--docus-search-input-borderRadius: var(--radii-2xs);--docus-footer-padding: var(--space-4) 0;--docus-header-title-color-hover: var(--color-primary-500);--docus-header-title-color-static: var(--color-gray-900);--docus-header-title-fontWeight: var(--fontWeight-bold);--docus-header-title-fontSize: var(--fontSize-2xl);--docus-header-logo-height: var(--space-6);--docus-body-fontFamily: var(--font-sans);--docus-body-color: var(--color-gray-800);--docus-body-backgroundColor: var(--color-white);--prose-code-inline-fontWeight: var(--typography-fontWeight-normal);--prose-code-inline-fontSize: var(--typography-fontSize-sm);--prose-code-inline-borderRadius: var(--radii-xs);--prose-code-block-pre-padding: var(--typography-verticalMargin-sm);--prose-code-block-margin: var(--typography-verticalMargin-base) 0;--prose-code-block-fontSize: var(--typography-fontSize-sm);--prose-tbody-code-inline-fontSize: var(--typography-fontSize-sm);--prose-tbody-td-padding: var(--typography-verticalMargin-sm);--prose-th-fontWeight: var(--typography-fontWeight-semibold);--prose-th-padding: 0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm);--prose-table-lineHeight: var(--typography-lead-6);--prose-table-fontSize: var(--typography-fontSize-sm);--prose-table-margin: var(--typography-verticalMargin-base) 0;--prose-hr-margin: var(--typography-verticalMargin-base) 0;--prose-li-margin: var(--typography-verticalMargin-sm) 0;--prose-ol-margin: var(--typography-verticalMargin-base) 0;--prose-ul-margin: var(--typography-verticalMargin-base) 0;--prose-blockquote-margin: var(--typography-verticalMargin-base) 0;--prose-a-code-border-style: var(--prose-a-border-style-static);--prose-a-code-border-width: var(--prose-a-border-width);--prose-a-fontWeight: var(--typography-fontWeight-medium);--prose-img-margin: var(--typography-verticalMargin-base) 0;--prose-strong-fontWeight: var(--typography-fontWeight-semibold);--prose-h6-iconSize: var(--typography-fontSize-base);--prose-h6-fontWeight: var(--typography-fontWeight-semibold);--prose-h6-lineHeight: var(--typography-lead-normal);--prose-h6-fontSize: var(--typography-fontSize-lg);--prose-h5-iconSize: var(--typography-fontSize-lg);--prose-h5-fontWeight: var(--typography-fontWeight-semibold);--prose-h5-lineHeight: var(--typography-lead-snug);--prose-h5-fontSize: var(--typography-fontSize-xl);--prose-h4-iconSize: var(--typography-fontSize-lg);--prose-h4-letterSpacing: var(--typography-letterSpacing-tight);--prose-h4-fontWeight: var(--typography-fontWeight-semibold);--prose-h4-lineHeight: var(--typography-lead-snug);--prose-h4-fontSize: var(--typography-fontSize-2xl);--prose-h3-iconSize: var(--typography-fontSize-xl);--prose-h3-letterSpacing: var(--typography-letterSpacing-tight);--prose-h3-fontWeight: var(--typography-fontWeight-semibold);--prose-h3-lineHeight: var(--typography-lead-snug);--prose-h3-fontSize: var(--typography-fontSize-3xl);--prose-h2-iconSize: var(--typography-fontSize-2xl);--prose-h2-letterSpacing: var(--typography-letterSpacing-tight);--prose-h2-fontWeight: var(--typography-fontWeight-semibold);--prose-h2-lineHeight: var(--typography-lead-tight);--prose-h2-fontSize: var(--typography-fontSize-4xl);--prose-h1-iconSize: var(--typography-fontSize-3xl);--prose-h1-letterSpacing: var(--typography-letterSpacing-tight);--prose-h1-fontWeight: var(--typography-fontWeight-bold);--prose-h1-lineHeight: var(--typography-lead-tight);--prose-h1-fontSize: var(--typography-fontSize-5xl);--prose-p-br-margin: var(--typography-verticalMargin-base) 0 0 0;--prose-p-margin: var(--typography-verticalMargin-base) 0;--prose-p-lineHeight: var(--typography-lead-normal);--prose-p-fontSize: var(--typography-fontSize-base);--typography-color-secondary-900: var(--color-gray-900);--typography-color-secondary-800: var(--color-gray-800);--typography-color-secondary-700: var(--color-gray-700);--typography-color-secondary-600: var(--color-gray-600);--typography-color-secondary-500: var(--color-gray-500);--typography-color-secondary-400: var(--color-gray-400);--typography-color-secondary-300: var(--color-gray-300);--typography-color-secondary-200: var(--color-gray-200);--typography-color-secondary-100: var(--color-gray-100);--typography-color-secondary-50: var(--color-gray-50);--typography-color-primary-900: var(--color-primary-900);--typography-color-primary-800: var(--color-primary-800);--typography-color-primary-700: var(--color-primary-700);--typography-color-primary-600: var(--color-primary-600);--typography-color-primary-500: var(--color-primary-500);--typography-color-primary-400: var(--color-primary-400);--typography-color-primary-300: var(--color-primary-300);--typography-color-primary-200: var(--color-primary-200);--typography-color-primary-100: var(--color-primary-100);--typography-color-primary-50: var(--color-primary-50);--typography-font-code: var(--font-mono);--typography-font-body: var(--font-sans);--typography-font-display: var(--font-sans);--typography-body-backgroundColor: var(--color-white);--typography-body-color: var(--color-black);--elements-state-danger-borderColor-secondary: var(--color-red-200);--elements-state-danger-borderColor-primary: var(--color-red-100);--elements-state-danger-backgroundColor-secondary: var(--color-red-100);--elements-state-danger-backgroundColor-primary: var(--color-red-50);--elements-state-danger-color-secondary: var(--color-red-600);--elements-state-danger-color-primary: var(--color-red-500);--elements-state-warning-borderColor-secondary: var(--color-yellow-200);--elements-state-warning-borderColor-primary: var(--color-yellow-100);--elements-state-warning-backgroundColor-secondary: var(--color-yellow-100);--elements-state-warning-backgroundColor-primary: var(--color-yellow-50);--elements-state-warning-color-secondary: var(--color-yellow-700);--elements-state-warning-color-primary: var(--color-yellow-600);--elements-state-success-borderColor-secondary: var(--color-green-200);--elements-state-success-borderColor-primary: var(--color-green-100);--elements-state-success-backgroundColor-secondary: var(--color-green-100);--elements-state-success-backgroundColor-primary: var(--color-green-50);--elements-state-success-color-secondary: var(--color-green-600);--elements-state-success-color-primary: var(--color-green-500);--elements-state-info-borderColor-secondary: var(--color-blue-200);--elements-state-info-borderColor-primary: var(--color-blue-100);--elements-state-info-backgroundColor-secondary: var(--color-blue-100);--elements-state-info-backgroundColor-primary: var(--color-blue-50);--elements-state-info-color-secondary: var(--color-blue-600);--elements-state-info-color-primary: var(--color-blue-500);--elements-state-primary-borderColor-secondary: var(--color-primary-200);--elements-state-primary-borderColor-primary: var(--color-primary-100);--elements-state-primary-backgroundColor-secondary: var(--color-primary-100);--elements-state-primary-backgroundColor-primary: var(--color-primary-50);--elements-state-primary-color-secondary: var(--color-primary-700);--elements-state-primary-color-primary: var(--color-primary-600);--elements-surface-secondary-backgroundColor: var(--color-gray-200);--elements-surface-primary-backgroundColor: var(--color-gray-100);--elements-surface-background-base: var(--color-gray-100);--elements-border-secondary-static: var(--color-gray-200);--elements-border-primary-hover: var(--color-gray-200);--elements-border-primary-static: var(--color-gray-100);--elements-container-padding-md: var(--space-6);--elements-container-padding-sm: var(--space-6);--elements-container-padding-xs: var(--space-4);--elements-container-padding-mobile: var(--space-4);--elements-text-secondary-color-hover: var(--color-gray-700);--elements-text-secondary-color-static: var(--color-gray-500);--elements-text-primary-color-static: var(--color-gray-900);--text-6xl-lineHeight: var(--lead-none);--text-6xl-fontSize: var(--fontSize-6xl);--text-5xl-lineHeight: var(--lead-none);--text-5xl-fontSize: var(--fontSize-5xl);--text-4xl-lineHeight: var(--lead-10);--text-4xl-fontSize: var(--fontSize-4xl);--text-3xl-lineHeight: var(--lead-9);--text-3xl-fontSize: var(--fontSize-3xl);--text-2xl-lineHeight: var(--lead-8);--text-2xl-fontSize: var(--fontSize-2xl);--text-xl-lineHeight: var(--lead-7);--text-xl-fontSize: var(--fontSize-xl);--text-lg-lineHeight: var(--lead-7);--text-lg-fontSize: var(--fontSize-lg);--text-base-lineHeight: var(--lead-6);--text-base-fontSize: var(--fontSize-base);--text-sm-lineHeight: var(--lead-5);--text-sm-fontSize: var(--fontSize-sm);--text-xs-lineHeight: var(--lead-4);--text-xs-fontSize: var(--fontSize-xs);--color-shadow: var(--color-gray-400);--color-secondary-900: var(--color-gray-900);--color-secondary-800: var(--color-gray-800);--color-secondary-700: var(--color-gray-700);--color-secondary-600: var(--color-gray-600);--color-secondary-500: var(--color-gray-500);--color-secondary-400: var(--color-gray-400);--color-secondary-300: var(--color-gray-300);--color-secondary-200: var(--color-gray-200);--color-secondary-100: var(--color-gray-100);--color-secondary-50: var(--color-gray-50);--prose-code-inline-backgroundColor: var(--typography-color-secondary-100);--prose-code-inline-color: var(--typography-color-secondary-700);--prose-code-block-backgroundColor: var(--typography-color-secondary-100);--prose-code-block-color: var(--typography-color-secondary-700);--prose-code-block-border-color: var(--typography-color-secondary-200);--prose-tbody-tr-borderBottom-color: var(--typography-color-secondary-200);--prose-th-color: var(--typography-color-secondary-600);--prose-thead-borderBottom-color: var(--typography-color-secondary-200);--prose-thead-border-color: var(--typography-color-secondary-300);--prose-hr-color: var(--typography-color-secondary-200);--prose-blockquote-border-color: var(--typography-color-secondary-200);--prose-blockquote-color: var(--typography-color-secondary-500);--prose-a-code-background-hover: var(--typography-color-primary-50);--prose-a-code-border-color-hover: var(--typography-color-primary-500);--prose-a-code-border-color-static: var(--typography-color-secondary-400);--prose-a-color-hover: var(--typography-color-primary-500);--shadow-2xl: 0px 25px 50px -12px var(--color-shadow);--shadow-xl: 0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow);--shadow-lg: 0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow);--shadow-md: 0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow);--shadow-sm: 0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow);--shadow-xs: 0px 1px 2px 0px var(--color-shadow); } }@media { :root.dark {--pinceau-mq: dark; --prose-code-block-backdropFilter: contrast(1);--prose-ol-li-markerColor: currentColor;--prose-ul-li-markerColor: currentColor;--prose-a-code-color-hover: currentColor;--prose-a-code-color-static: currentColor;--prose-a-border-color-hover: currentColor;--prose-a-border-color-static: currentColor;--prose-a-color-static: inherit;--elements-backdrop-background: #0c0d0ccc;--docus-search-results-selected-backgroundColor: var(--color-gray-700);--docus-search-input-backgroundColor: var(--color-gray-800);--docus-search-input-borderColor: transparent;--docus-header-title-color-static: var(--color-gray-100);--docus-body-color: var(--color-gray-200);--docus-body-backgroundColor: var(--color-black);--typography-body-backgroundColor: var(--color-black);--typography-body-color: var(--color-white);--elements-state-danger-borderColor-secondary: var(--color-red-700);--elements-state-danger-borderColor-primary: var(--color-red-800);--elements-state-danger-backgroundColor-secondary: var(--color-red-800);--elements-state-danger-backgroundColor-primary: var(--color-red-900);--elements-state-danger-color-secondary: var(--color-red-200);--elements-state-danger-color-primary: var(--color-red-300);--elements-state-warning-borderColor-secondary: var(--color-yellow-700);--elements-state-warning-borderColor-primary: var(--color-yellow-800);--elements-state-warning-backgroundColor-secondary: var(--color-yellow-800);--elements-state-warning-backgroundColor-primary: var(--color-yellow-900);--elements-state-warning-color-secondary: var(--color-yellow-200);--elements-state-warning-color-primary: var(--color-yellow-400);--elements-state-success-borderColor-secondary: var(--color-green-700);--elements-state-success-borderColor-primary: var(--color-green-800);--elements-state-success-backgroundColor-secondary: var(--color-green-800);--elements-state-success-backgroundColor-primary: var(--color-green-900);--elements-state-success-color-secondary: var(--color-green-200);--elements-state-success-color-primary: var(--color-green-400);--elements-state-info-borderColor-secondary: var(--color-blue-700);--elements-state-info-borderColor-primary: var(--color-blue-800);--elements-state-info-backgroundColor-secondary: var(--color-blue-800);--elements-state-info-backgroundColor-primary: var(--color-blue-900);--elements-state-info-color-secondary: var(--color-blue-200);--elements-state-info-color-primary: var(--color-blue-400);--elements-state-primary-borderColor-secondary: var(--color-primary-700);--elements-state-primary-borderColor-primary: var(--color-primary-800);--elements-state-primary-backgroundColor-secondary: var(--color-primary-800);--elements-state-primary-backgroundColor-primary: var(--color-primary-900);--elements-state-primary-color-secondary: var(--color-primary-200);--elements-state-primary-color-primary: var(--color-primary-400);--elements-surface-secondary-backgroundColor: var(--color-gray-800);--elements-surface-primary-backgroundColor: var(--color-gray-900);--elements-surface-background-base: var(--color-gray-900);--elements-border-secondary-static: var(--color-gray-800);--elements-border-primary-hover: var(--color-gray-800);--elements-border-primary-static: var(--color-gray-900);--elements-text-secondary-color-hover: var(--color-gray-200);--elements-text-secondary-color-static: var(--color-gray-400);--elements-text-primary-color-static: var(--color-gray-50);--color-shadow: var(--color-gray-800);--prose-code-inline-backgroundColor: var(--typography-color-secondary-800);--prose-code-inline-color: var(--typography-color-secondary-200);--prose-code-block-backgroundColor: var(--typography-color-secondary-900);--prose-code-block-color: var(--typography-color-secondary-200);--prose-code-block-border-color: var(--typography-color-secondary-800);--prose-tbody-tr-borderBottom-color: var(--typography-color-secondary-800);--prose-th-color: var(--typography-color-secondary-400);--prose-thead-borderBottom-color: var(--typography-color-secondary-800);--prose-thead-border-color: var(--typography-color-secondary-600);--prose-hr-color: var(--typography-color-secondary-800);--prose-blockquote-border-color: var(--typography-color-secondary-700);--prose-blockquote-color: var(--typography-color-secondary-400);--prose-a-code-background-hover: var(--typography-color-primary-900);--prose-a-code-border-color-hover: var(--typography-color-primary-600);--prose-a-code-border-color-static: var(--typography-color-secondary-600);--prose-a-color-hover: var(--typography-color-primary-400); } }@media (min-width: 640px) { :root {--pinceau-mq: sm; --docus-search-results-window-maxHeight: 320px;--docus-search-results-window-marginTop: 20vh;--docus-footer-height: 100px;--docus-search-results-window-borderRadius: var(--radii-xs);--docus-search-results-window-marginX: var(--space-4);--docus-header-logo-height: var(--space-7); } }"; + +export { index as default }; +//# sourceMappingURL=index.mjs.map diff --git a/.output/server/chunks/raw/index.mjs.map b/.output/server/chunks/raw/index.mjs.map new file mode 100644 index 0000000000..ed2478ed1f --- /dev/null +++ b/.output/server/chunks/raw/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/rollup/_virtual_spa-template.mjs b/.output/server/chunks/rollup/_virtual_spa-template.mjs new file mode 100644 index 0000000000..7ade71cceb --- /dev/null +++ b/.output/server/chunks/rollup/_virtual_spa-template.mjs @@ -0,0 +1,4 @@ +const template = ""; + +export { template }; +//# sourceMappingURL=_virtual_spa-template.mjs.map diff --git a/.output/server/chunks/rollup/_virtual_spa-template.mjs.map b/.output/server/chunks/rollup/_virtual_spa-template.mjs.map new file mode 100644 index 0000000000..4ab708b50e --- /dev/null +++ b/.output/server/chunks/rollup/_virtual_spa-template.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_virtual_spa-template.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;"} \ No newline at end of file diff --git a/.output/server/chunks/search.mjs b/.output/server/chunks/search.mjs new file mode 100644 index 0000000000..020facbc45 --- /dev/null +++ b/.output/server/chunks/search.mjs @@ -0,0 +1,80 @@ +import { s as serverQueryContent$1, d as defineEventHandler, u as useAppConfig } from './nitro/node-server.mjs'; +import 'node:http'; +import 'node:https'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; + +const serverQueryContent = serverQueryContent$1; + +const search = defineEventHandler(async (event) => { + var _a, _b; + const appConfig = useAppConfig(); + ((_b = (_a = appConfig == null ? void 0 : appConfig.docus) == null ? void 0 : _a.search) == null ? void 0 : _b.mode) || "meta"; + let docs = await serverQueryContent(event).find(); + docs = await Promise.all( + docs.filter( + (doc) => { + return (doc == null ? void 0 : doc._extension) === "md" && (doc == null ? void 0 : doc._draft) === false && !(doc == null ? void 0 : doc._empty); + } + ).map( + async ({ _id: id, _path: path, _dir: dir, title = "", description = "", body = void 0, ...rest }) => { + var _a2; + const { directoryIcon } = rest; + if (directoryIcon) { + console.log({ directoryIcon }); + } + return { + id, + path, + dir, + title, + description, + keywords: (_a2 = body == null ? void 0 : body.toc) == null ? void 0 : _a2.links.map((link) => link == null ? void 0 : link.text), + // Only fetch body for `full-text` mode. + body: extractTextFromAst(body) || "" + }; + } + ) + ); + return docs; +}); +function extractTextFromAst(node) { + let text = ""; + if (node.type === "text") { + text += node.value; + } + if (node.children) { + for (const child of node.children) { + text += " " + extractTextFromAst(child); + } + } + return text; +} + +export { search as default }; +//# sourceMappingURL=search.mjs.map diff --git a/.output/server/chunks/search.mjs.map b/.output/server/chunks/search.mjs.map new file mode 100644 index 0000000000..f1efa3f521 --- /dev/null +++ b/.output/server/chunks/search.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"search.mjs","sources":["../../../node_modules/@nuxt/content/dist/runtime/legacy/server.mjs","../../../node_modules/@nuxt-themes/docus/server/api/search.ts"],"sourcesContent":null,"names":["_serverQueryContent","_a"],"mappings":"","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/.output/server/index.mjs b/.output/server/index.mjs new file mode 100644 index 0000000000..ec62c99c18 --- /dev/null +++ b/.output/server/index.mjs @@ -0,0 +1,31 @@ +globalThis._importMeta_={url:import.meta.url,env:process.env};import 'node:http'; +import 'node:https'; +export { R as default } from './chunks/nitro/node-server.mjs'; +import 'fs'; +import 'path'; +import 'node:fs'; +import 'node:url'; +import 'shikiji'; +import 'unified'; +import 'mdast-util-to-string'; +import 'micromark'; +import 'unist-util-stringify-position'; +import 'micromark-util-character'; +import 'micromark-util-chunked'; +import 'micromark-util-resolve-all'; +import 'micromark-util-sanitize-uri'; +import 'slugify'; +import 'remark-parse'; +import 'remark-rehype'; +import 'remark-mdc'; +import 'hast-util-to-string'; +import 'github-slugger'; +import 'detab'; +import 'remark-emoji'; +import 'remark-gfm'; +import 'rehype-external-links'; +import 'rehype-sort-attribute-values'; +import 'rehype-sort-attributes'; +import 'rehype-raw'; +import 'unist-util-visit'; +//# sourceMappingURL=index.mjs.map diff --git a/.output/server/index.mjs.map b/.output/server/index.mjs.map new file mode 100644 index 0000000000..a41393e73d --- /dev/null +++ b/.output/server/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/index.js b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/index.js new file mode 100644 index 0000000000..e79ed0432f --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/index.js @@ -0,0 +1,12 @@ +/** + * @typedef {import('./lib/index.js').Options} Options + * @typedef {import('./lib/index.js').RegExpMatchObject} RegExpMatchObject + * @typedef {import('./lib/index.js').Find} Find + * @typedef {import('./lib/index.js').Replace} Replace + * @typedef {import('./lib/index.js').ReplaceFunction} ReplaceFunction + * @typedef {import('./lib/index.js').FindAndReplaceTuple} FindAndReplaceTuple + * @typedef {import('./lib/index.js').FindAndReplaceSchema} FindAndReplaceSchema + * @typedef {import('./lib/index.js').FindAndReplaceList} FindAndReplaceList + */ + +export {findAndReplace} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/lib/index.js b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/lib/index.js new file mode 100644 index 0000000000..5d3f45edd0 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/lib/index.js @@ -0,0 +1,307 @@ +/** + * @typedef {import('mdast').Parent} MdastParent + * @typedef {import('mdast').Root} Root + * @typedef {import('mdast').Content} Content + * @typedef {import('mdast').PhrasingContent} PhrasingContent + * @typedef {import('mdast').Text} Text + * @typedef {import('unist-util-visit-parents').Test} Test + * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult + */ + +/** + * @typedef {Content | Root} Node + * @typedef {Extract} Parent + * @typedef {Exclude} ContentParent + * + * @typedef RegExpMatchObject + * Info on the match. + * @property {number} index + * The index of the search at which the result was found. + * @property {string} input + * A copy of the search string in the text node. + * @property {[Root, ...Array, Text]} stack + * All ancestors of the text node, where the last node is the text itself. + * + * @callback ReplaceFunction + * Callback called when a search matches. + * @param {...any} parameters + * The parameters are the result of corresponding search expression: + * + * * `value` (`string`) — whole match + * * `...capture` (`Array`) — matches from regex capture groups + * * `match` (`RegExpMatchObject`) — info on the match + * @returns {Array | PhrasingContent | string | false | undefined | null} + * Thing to replace with. + * + * * when `null`, `undefined`, `''`, remove the match + * * …or when `false`, do not replace at all + * * …or when `string`, replace with a text node of that value + * * …or when `Node` or `Array`, replace with those nodes + * + * @typedef {string | RegExp} Find + * Pattern to find. + * + * Strings are escaped and then turned into global expressions. + * + * @typedef {Array} FindAndReplaceList + * Several find and replaces, in array form. + * @typedef {Record} FindAndReplaceSchema + * Several find and replaces, in object form. + * @typedef {[Find, Replace]} FindAndReplaceTuple + * Find and replace in tuple form. + * @typedef {string | ReplaceFunction} Replace + * Thing to replace with. + * @typedef {[RegExp, ReplaceFunction]} Pair + * Normalized find and replace. + * @typedef {Array} Pairs + * All find and replaced. + * + * @typedef Options + * Configuration. + * @property {Test | null | undefined} [ignore] + * Test for which nodes to ignore. + */ + +import escape from 'escape-string-regexp' +import {visitParents} from 'unist-util-visit-parents' +import {convert} from 'unist-util-is' + +const own = {}.hasOwnProperty + +/** + * Find patterns in a tree and replace them. + * + * The algorithm searches the tree in *preorder* for complete values in `Text` + * nodes. + * Partial matches are not supported. + * + * @param tree + * Tree to change. + * @param find + * Patterns to find. + * @param replace + * Things to replace with (when `find` is `Find`) or configuration. + * @param options + * Configuration (when `find` is not `Find`). + * @returns + * Given, modified, tree. + */ +// To do: next major: remove `find` & `replace` combo, remove schema. +export const findAndReplace = + /** + * @type {( + * ((tree: Tree, find: Find, replace?: Replace | null | undefined, options?: Options | null | undefined) => Tree) & + * ((tree: Tree, schema: FindAndReplaceSchema | FindAndReplaceList, options?: Options | null | undefined) => Tree) + * )} + **/ + ( + /** + * @template {Node} Tree + * @param {Tree} tree + * @param {Find | FindAndReplaceSchema | FindAndReplaceList} find + * @param {Replace | Options | null | undefined} [replace] + * @param {Options | null | undefined} [options] + * @returns {Tree} + */ + function (tree, find, replace, options) { + /** @type {Options | null | undefined} */ + let settings + /** @type {FindAndReplaceSchema|FindAndReplaceList} */ + let schema + + if (typeof find === 'string' || find instanceof RegExp) { + // @ts-expect-error don’t expect options twice. + schema = [[find, replace]] + settings = options + } else { + schema = find + // @ts-expect-error don’t expect replace twice. + settings = replace + } + + if (!settings) { + settings = {} + } + + const ignored = convert(settings.ignore || []) + const pairs = toPairs(schema) + let pairIndex = -1 + + while (++pairIndex < pairs.length) { + visitParents(tree, 'text', visitor) + } + + // To do next major: don’t return the given tree. + return tree + + /** @type {import('unist-util-visit-parents/complex-types.js').BuildVisitor} */ + function visitor(node, parents) { + let index = -1 + /** @type {Parent | undefined} */ + let grandparent + + while (++index < parents.length) { + const parent = parents[index] + + if ( + ignored( + parent, + // @ts-expect-error: TS doesn’t understand but it’s perfect. + grandparent ? grandparent.children.indexOf(parent) : undefined, + grandparent + ) + ) { + return + } + + grandparent = parent + } + + if (grandparent) { + return handler(node, parents) + } + } + + /** + * Handle a text node which is not in an ignored parent. + * + * @param {Text} node + * Text node. + * @param {Array} parents + * Parents. + * @returns {VisitorResult} + * Result. + */ + function handler(node, parents) { + const parent = parents[parents.length - 1] + const find = pairs[pairIndex][0] + const replace = pairs[pairIndex][1] + let start = 0 + // @ts-expect-error: TS is wrong, some of these children can be text. + const index = parent.children.indexOf(node) + let change = false + /** @type {Array} */ + let nodes = [] + + find.lastIndex = 0 + + let match = find.exec(node.value) + + while (match) { + const position = match.index + /** @type {RegExpMatchObject} */ + const matchObject = { + index: match.index, + input: match.input, + // @ts-expect-error: stack is fine. + stack: [...parents, node] + } + let value = replace(...match, matchObject) + + if (typeof value === 'string') { + value = value.length > 0 ? {type: 'text', value} : undefined + } + + // It wasn’t a match after all. + if (value !== false) { + if (start !== position) { + nodes.push({ + type: 'text', + value: node.value.slice(start, position) + }) + } + + if (Array.isArray(value)) { + nodes.push(...value) + } else if (value) { + nodes.push(value) + } + + start = position + match[0].length + change = true + } + + if (!find.global) { + break + } + + match = find.exec(node.value) + } + + if (change) { + if (start < node.value.length) { + nodes.push({type: 'text', value: node.value.slice(start)}) + } + + parent.children.splice(index, 1, ...nodes) + } else { + nodes = [node] + } + + return index + nodes.length + } + } + ) + +/** + * Turn a schema into pairs. + * + * @param {FindAndReplaceSchema | FindAndReplaceList} schema + * Schema. + * @returns {Pairs} + * Clean pairs. + */ +function toPairs(schema) { + /** @type {Pairs} */ + const result = [] + + if (typeof schema !== 'object') { + throw new TypeError('Expected array or object as schema') + } + + if (Array.isArray(schema)) { + let index = -1 + + while (++index < schema.length) { + result.push([ + toExpression(schema[index][0]), + toFunction(schema[index][1]) + ]) + } + } else { + /** @type {string} */ + let key + + for (key in schema) { + if (own.call(schema, key)) { + result.push([toExpression(key), toFunction(schema[key])]) + } + } + } + + return result +} + +/** + * Turn a find into an expression. + * + * @param {Find} find + * Find. + * @returns {RegExp} + * Expression. + */ +function toExpression(find) { + return typeof find === 'string' ? new RegExp(escape(find), 'g') : find +} + +/** + * Turn a replace into a function. + * + * @param {Replace} replace + * Replace. + * @returns {ReplaceFunction} + * Function. + */ +function toFunction(replace) { + return typeof replace === 'function' ? replace : () => replace +} diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-is b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-is new file mode 120000 index 0000000000..495dc83bf3 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-is @@ -0,0 +1 @@ +../../unist-util-is@5.2.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-visit-parents b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-visit-parents new file mode 120000 index 0000000000..c2e150ebeb --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/node_modules/unist-util-visit-parents @@ -0,0 +1 @@ +../../unist-util-visit-parents@5.1.3 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/package.json b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/package.json new file mode 100644 index 0000000000..5b877bef72 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@2.2.2/package.json @@ -0,0 +1,84 @@ +{ + "name": "mdast-util-find-and-replace", + "version": "2.2.2", + "description": "mdast utility to find and replace text in a tree", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "find", + "replace" + ], + "repository": "syntax-tree/mdast-util-find-and-replace", + "bugs": "https://github.com/syntax-tree/mdast-util-find-and-replace/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "unist-builder": "^3.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreFiles": [ + "lib/index.d.ts" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/index.js b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/index.js new file mode 100644 index 0000000000..7c65fbf630 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/index.js @@ -0,0 +1,11 @@ +/** + * @typedef {import('./lib/index.js').Find} Find + * @typedef {import('./lib/index.js').FindAndReplaceList} FindAndReplaceList + * @typedef {import('./lib/index.js').FindAndReplaceTuple} FindAndReplaceTuple + * @typedef {import('./lib/index.js').Options} Options + * @typedef {import('./lib/index.js').RegExpMatchObject} RegExpMatchObject + * @typedef {import('./lib/index.js').Replace} Replace + * @typedef {import('./lib/index.js').ReplaceFunction} ReplaceFunction + */ + +export {findAndReplace} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/lib/index.js b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/lib/index.js new file mode 100644 index 0000000000..6ac7f95a00 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/lib/index.js @@ -0,0 +1,266 @@ +/** + * @typedef {import('mdast').Nodes} Nodes + * @typedef {import('mdast').Parents} Parents + * @typedef {import('mdast').PhrasingContent} PhrasingContent + * @typedef {import('mdast').Root} Root + * @typedef {import('mdast').Text} Text + * @typedef {import('unist-util-visit-parents').Test} Test + * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult + */ + +/** + * @typedef RegExpMatchObject + * Info on the match. + * @property {number} index + * The index of the search at which the result was found. + * @property {string} input + * A copy of the search string in the text node. + * @property {[...Array, Text]} stack + * All ancestors of the text node, where the last node is the text itself. + * + * @typedef {RegExp | string} Find + * Pattern to find. + * + * Strings are escaped and then turned into global expressions. + * + * @typedef {Array} FindAndReplaceList + * Several find and replaces, in array form. + * + * @typedef {[Find, Replace?]} FindAndReplaceTuple + * Find and replace in tuple form. + * + * @typedef {ReplaceFunction | string | null | undefined} Replace + * Thing to replace with. + * + * @callback ReplaceFunction + * Callback called when a search matches. + * @param {...any} parameters + * The parameters are the result of corresponding search expression: + * + * * `value` (`string`) — whole match + * * `...capture` (`Array`) — matches from regex capture groups + * * `match` (`RegExpMatchObject`) — info on the match + * @returns {Array | PhrasingContent | string | false | null | undefined} + * Thing to replace with. + * + * * when `null`, `undefined`, `''`, remove the match + * * …or when `false`, do not replace at all + * * …or when `string`, replace with a text node of that value + * * …or when `Node` or `Array`, replace with those nodes + * + * @typedef {[RegExp, ReplaceFunction]} Pair + * Normalized find and replace. + * + * @typedef {Array} Pairs + * All find and replaced. + * + * @typedef Options + * Configuration. + * @property {Test | null | undefined} [ignore] + * Test for which nodes to ignore (optional). + */ + +import escape from 'escape-string-regexp' +import {visitParents} from 'unist-util-visit-parents' +import {convert} from 'unist-util-is' + +/** + * Find patterns in a tree and replace them. + * + * The algorithm searches the tree in *preorder* for complete values in `Text` + * nodes. + * Partial matches are not supported. + * + * @param {Nodes} tree + * Tree to change. + * @param {FindAndReplaceList | FindAndReplaceTuple} list + * Patterns to find. + * @param {Options | null | undefined} [options] + * Configuration (when `find` is not `Find`). + * @returns {undefined} + * Nothing. + */ +export function findAndReplace(tree, list, options) { + const settings = options || {} + const ignored = convert(settings.ignore || []) + const pairs = toPairs(list) + let pairIndex = -1 + + while (++pairIndex < pairs.length) { + visitParents(tree, 'text', visitor) + } + + /** @type {import('unist-util-visit-parents').BuildVisitor} */ + function visitor(node, parents) { + let index = -1 + /** @type {Parents | undefined} */ + let grandparent + + while (++index < parents.length) { + const parent = parents[index] + /** @type {Array | undefined} */ + const siblings = grandparent ? grandparent.children : undefined + + if ( + ignored( + parent, + siblings ? siblings.indexOf(parent) : undefined, + grandparent + ) + ) { + return + } + + grandparent = parent + } + + if (grandparent) { + return handler(node, parents) + } + } + + /** + * Handle a text node which is not in an ignored parent. + * + * @param {Text} node + * Text node. + * @param {Array} parents + * Parents. + * @returns {VisitorResult} + * Result. + */ + function handler(node, parents) { + const parent = parents[parents.length - 1] + const find = pairs[pairIndex][0] + const replace = pairs[pairIndex][1] + let start = 0 + /** @type {Array} */ + const siblings = parent.children + const index = siblings.indexOf(node) + let change = false + /** @type {Array} */ + let nodes = [] + + find.lastIndex = 0 + + let match = find.exec(node.value) + + while (match) { + const position = match.index + /** @type {RegExpMatchObject} */ + const matchObject = { + index: match.index, + input: match.input, + stack: [...parents, node] + } + let value = replace(...match, matchObject) + + if (typeof value === 'string') { + value = value.length > 0 ? {type: 'text', value} : undefined + } + + // It wasn’t a match after all. + if (value === false) { + // False acts as if there was no match. + // So we need to reset `lastIndex`, which currently being at the end of + // the current match, to the beginning. + find.lastIndex = position + 1 + } else { + if (start !== position) { + nodes.push({ + type: 'text', + value: node.value.slice(start, position) + }) + } + + if (Array.isArray(value)) { + nodes.push(...value) + } else if (value) { + nodes.push(value) + } + + start = position + match[0].length + change = true + } + + if (!find.global) { + break + } + + match = find.exec(node.value) + } + + if (change) { + if (start < node.value.length) { + nodes.push({type: 'text', value: node.value.slice(start)}) + } + + parent.children.splice(index, 1, ...nodes) + } else { + nodes = [node] + } + + return index + nodes.length + } +} + +/** + * Turn a tuple or a list of tuples into pairs. + * + * @param {FindAndReplaceList | FindAndReplaceTuple} tupleOrList + * Schema. + * @returns {Pairs} + * Clean pairs. + */ +function toPairs(tupleOrList) { + /** @type {Pairs} */ + const result = [] + + if (!Array.isArray(tupleOrList)) { + throw new TypeError('Expected find and replace tuple or list of tuples') + } + + /** @type {FindAndReplaceList} */ + // @ts-expect-error: correct. + const list = + !tupleOrList[0] || Array.isArray(tupleOrList[0]) + ? tupleOrList + : [tupleOrList] + + let index = -1 + + while (++index < list.length) { + const tuple = list[index] + result.push([toExpression(tuple[0]), toFunction(tuple[1])]) + } + + return result +} + +/** + * Turn a find into an expression. + * + * @param {Find} find + * Find. + * @returns {RegExp} + * Expression. + */ +function toExpression(find) { + return typeof find === 'string' ? new RegExp(escape(find), 'g') : find +} + +/** + * Turn a replace into a function. + * + * @param {Replace} replace + * Replace. + * @returns {ReplaceFunction} + * Function. + */ +function toFunction(replace) { + return typeof replace === 'function' + ? replace + : function () { + return replace + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-is b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-is new file mode 120000 index 0000000000..aa12a1668f --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-is @@ -0,0 +1 @@ +../../unist-util-is@6.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-visit-parents b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-visit-parents new file mode 120000 index 0000000000..1f2fdccf86 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/node_modules/unist-util-visit-parents @@ -0,0 +1 @@ +../../unist-util-visit-parents@6.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/package.json b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/package.json new file mode 100644 index 0000000000..28c5a59623 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-find-and-replace@3.0.1/package.json @@ -0,0 +1,87 @@ +{ + "name": "mdast-util-find-and-replace", + "version": "3.0.1", + "description": "mdast utility to find and replace text in a tree", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "find", + "replace" + ], + "repository": "syntax-tree/mdast-util-find-and-replace", + "bugs": "https://github.com/syntax-tree/mdast-util-find-and-replace/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "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" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "prettier": "^3.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "unist-builder": "^4.0.0", + "xo": "^0.56.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --log-level warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "ignoreCatch": true, + "ignoreFiles": [ + "lib/index.d.ts" + ], + "strict": true + }, + "xo": { + "prettier": true, + "rules": { + "unicorn/prefer-at": "off" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/inline-code.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/inline-code.js new file mode 100644 index 0000000000..74d4beec1f --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/inline-code.js @@ -0,0 +1,79 @@ +/** + * @typedef {import('mdast').InlineCode} InlineCode + * @typedef {import('../types.js').Parent} Parent + * @typedef {import('../types.js').State} State + */ + +import {patternCompile} from '../util/pattern-compile.js' + +inlineCode.peek = inlineCodePeek + +/** + * @param {InlineCode} node + * @param {Parent | undefined} _ + * @param {State} state + * @returns {string} + */ +export function inlineCode(node, _, state) { + let value = node.value || '' + let sequence = '`' + let index = -1 + + // If there is a single grave accent on its own in the code, use a fence of + // two. + // If there are two in a row, use one. + while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) { + sequence += '`' + } + + // If this is not just spaces or eols (tabs don’t count), and either the + // first or last character are a space, eol, or tick, then pad with spaces. + if ( + /[^ \r\n]/.test(value) && + ((/^[ \r\n]/.test(value) && /[ \r\n]$/.test(value)) || /^`|`$/.test(value)) + ) { + value = ' ' + value + ' ' + } + + // We have a potential problem: certain characters after eols could result in + // blocks being seen. + // For example, if someone injected the string `'\n# b'`, then that would + // result in an ATX heading. + // We can’t escape characters in `inlineCode`, but because eols are + // transformed to spaces when going from markdown to HTML anyway, we can swap + // them out. + while (++index < state.unsafe.length) { + const pattern = state.unsafe[index] + const expression = patternCompile(pattern) + /** @type {RegExpExecArray | null} */ + let match + + // Only look for `atBreak`s. + // Btw: note that `atBreak` patterns will always start the regex at LF or + // CR. + if (!pattern.atBreak) continue + + while ((match = expression.exec(value))) { + let position = match.index + + // Support CRLF (patterns only look for one of the characters). + if ( + value.charCodeAt(position) === 10 /* `\n` */ && + value.charCodeAt(position - 1) === 13 /* `\r` */ + ) { + position-- + } + + value = value.slice(0, position) + ' ' + value.slice(match.index + 1) + } + } + + return sequence + value + sequence +} + +/** + * @returns {string} + */ +function inlineCodePeek() { + return '`' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/list-item.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/list-item.js new file mode 100644 index 0000000000..a76005d8ae --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/handle/list-item.js @@ -0,0 +1,65 @@ +/** + * @typedef {import('mdast').ListItem} ListItem + * @typedef {import('../types.js').Map} Map + * @typedef {import('../types.js').Parent} Parent + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').Info} Info + */ + +import {checkBullet} from '../util/check-bullet.js' +import {checkListItemIndent} from '../util/check-list-item-indent.js' + +/** + * @param {ListItem} node + * @param {Parent | undefined} parent + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function listItem(node, parent, state, info) { + const listItemIndent = checkListItemIndent(state) + let bullet = state.bulletCurrent || checkBullet(state) + + // Add the marker value for ordered lists. + if (parent && parent.type === 'list' && parent.ordered) { + bullet = + (typeof parent.start === 'number' && parent.start > -1 + ? parent.start + : 1) + + (state.options.incrementListMarker === false + ? 0 + : parent.children.indexOf(node)) + + bullet + } + + let size = bullet.length + 1 + + if ( + listItemIndent === 'tab' || + (listItemIndent === 'mixed' && + ((parent && parent.type === 'list' && parent.spread) || node.spread)) + ) { + size = Math.ceil(size / 4) * 4 + } + + const tracker = state.createTracker(info) + tracker.move(bullet + ' '.repeat(size - bullet.length)) + tracker.shift(size) + const exit = state.enter('listItem') + const value = state.indentLines( + state.containerFlow(node, tracker.current()), + map + ) + exit() + + return value + + /** @type {Map} */ + function map(line, index, blank) { + if (index) { + return (blank ? '' : ' '.repeat(size)) + line + } + + return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/association.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/association.js new file mode 100644 index 0000000000..e2fec6b2c9 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/association.js @@ -0,0 +1,33 @@ +/** + * @typedef {import('../types.js').AssociationId} AssociationId + */ + +import {decodeString} from 'micromark-util-decode-string' + +/** + * Get an identifier from an association to match it to others. + * + * Associations are nodes that match to something else through an ID: + * . + * + * The `label` of an association is the string value: character escapes and + * references work, and casing is intact. + * The `identifier` is used to match one association to another: + * controversially, character escapes and references don’t work in this + * matching: `©` does not match `©`, and `\+` does not match `+`. + * + * But casing is ignored (and whitespace) is trimmed and collapsed: ` A\nb` + * matches `a b`. + * So, we do prefer the label when figuring out how we’re going to serialize: + * it has whitespace, casing, and we can ignore most useless character + * escapes and all character references. + * + * @type {AssociationId} + */ +export function association(node) { + if (node.label || !node.identifier) { + return node.label || '' + } + + return decodeString(node.identifier) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-bullet.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-bullet.js new file mode 100644 index 0000000000..89588fd255 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-bullet.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').Options} Options + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkBullet(state) { + const marker = state.options.bullet || '*' + + if (marker !== '*' && marker !== '+' && marker !== '-') { + throw new Error( + 'Cannot serialize items with `' + + marker + + '` for `options.bullet`, expected `*`, `+`, or `-`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-list-item-indent.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-list-item-indent.js new file mode 100644 index 0000000000..97f25e6343 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/check-list-item-indent.js @@ -0,0 +1,28 @@ +/** + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').Options} Options + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkListItemIndent(state) { + const style = state.options.listItemIndent || 'tab' + + // To do: remove in a major. + // @ts-expect-error: deprecated. + if (style === 1 || style === '1') { + return 'one' + } + + if (style !== 'tab' && style !== 'one' && style !== 'mixed') { + throw new Error( + 'Cannot serialize items with `' + + style + + '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`' + ) + } + + return style +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-flow.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-flow.js new file mode 100644 index 0000000000..4a8950379b --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-flow.js @@ -0,0 +1,87 @@ +/** + * @typedef {import('../types.js').FlowContent} FlowContent + * @typedef {import('../types.js').Node} Node + * @typedef {import('../types.js').Parent} Parent + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').TrackFields} TrackFields + */ + +/** + * @param {Parent & {children: Array}} parent + * Parent of flow nodes. + * @param {State} state + * Info passed around about the current state. + * @param {TrackFields} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined by (blank) lines. + */ +export function containerFlow(parent, state, info) { + const indexStack = state.indexStack + const children = parent.children || [] + const tracker = state.createTracker(info) + /** @type {Array} */ + const results = [] + let index = -1 + + indexStack.push(-1) + + while (++index < children.length) { + const child = children[index] + + indexStack[indexStack.length - 1] = index + + results.push( + tracker.move( + state.handle(child, parent, state, { + before: '\n', + after: '\n', + ...tracker.current() + }) + ) + ) + + if (child.type !== 'list') { + state.bulletLastUsed = undefined + } + + if (index < children.length - 1) { + results.push( + tracker.move(between(child, children[index + 1], parent, state)) + ) + } + } + + indexStack.pop() + + return results.join('') +} + +/** + * @param {Node} left + * @param {Node} right + * @param {Parent} parent + * @param {State} state + * @returns {string} + */ +function between(left, right, parent, state) { + let index = state.join.length + + while (index--) { + const result = state.join[index](left, right, parent, state) + + if (result === true || result === 1) { + break + } + + if (typeof result === 'number') { + return '\n'.repeat(1 + result) + } + + if (result === false) { + return '\n\n\n\n' + } + } + + return '\n\n' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-phrasing.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-phrasing.js new file mode 100644 index 0000000000..c42871d523 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/container-phrasing.js @@ -0,0 +1,97 @@ +/** + * @typedef {import('../types.js').Handle} Handle + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').Parent} Parent + * @typedef {import('../types.js').PhrasingContent} PhrasingContent + * @typedef {import('../types.js').State} State + */ + +/** + * Serialize the children of a parent that contains phrasing children. + * + * These children will be joined flush together. + * + * @param {Parent & {children: Array}} parent + * Parent of flow nodes. + * @param {State} state + * Info passed around about the current state. + * @param {Info} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined together. + */ +export function containerPhrasing(parent, state, info) { + const indexStack = state.indexStack + const children = parent.children || [] + /** @type {Array} */ + const results = [] + let index = -1 + let before = info.before + + indexStack.push(-1) + let tracker = state.createTracker(info) + + while (++index < children.length) { + const child = children[index] + /** @type {string} */ + let after + + indexStack[indexStack.length - 1] = index + + if (index + 1 < children.length) { + /** @type {Handle} */ + // @ts-expect-error: hush, it’s actually a `zwitch`. + let handle = state.handle.handlers[children[index + 1].type] + /** @type {Handle} */ + // @ts-expect-error: hush, it’s actually a `zwitch`. + if (handle && handle.peek) handle = handle.peek + after = handle + ? handle(children[index + 1], parent, state, { + before: '', + after: '', + ...tracker.current() + }).charAt(0) + : '' + } else { + after = info.after + } + + // In some cases, html (text) can be found in phrasing right after an eol. + // When we’d serialize that, in most cases that would be seen as html + // (flow). + // As we can’t escape or so to prevent it from happening, we take a somewhat + // reasonable approach: replace that eol with a space. + // See: + if ( + results.length > 0 && + (before === '\r' || before === '\n') && + child.type === 'html' + ) { + results[results.length - 1] = results[results.length - 1].replace( + /(\r?\n|\r)$/, + ' ' + ) + before = ' ' + + // To do: does this work to reset tracker? + tracker = state.createTracker(info) + tracker.move(results.join('')) + } + + results.push( + tracker.move( + state.handle(child, parent, state, { + ...tracker.current(), + before, + after + }) + ) + ) + + before = results[results.length - 1].slice(-1) + } + + indexStack.pop() + + return results.join('') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/indent-lines.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/indent-lines.js new file mode 100644 index 0000000000..3c1c653594 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/indent-lines.js @@ -0,0 +1,35 @@ +/** + * @typedef {import('../types.js').IndentLines} IndentLines + */ + +const eol = /\r?\n|\r/g + +/** + * @type {IndentLines} + */ +export function indentLines(value, map) { + /** @type {Array} */ + const result = [] + let start = 0 + let line = 0 + /** @type {RegExpExecArray | null} */ + let match + + while ((match = eol.exec(value))) { + one(value.slice(start, match.index)) + result.push(match[0]) + start = match.index + match[0].length + line++ + } + + one(value.slice(start)) + + return result.join('') + + /** + * @param {string} value + */ + function one(value) { + result.push(map(value, line, !value)) + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-compile.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-compile.js new file mode 100644 index 0000000000..278d2125ef --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-compile.js @@ -0,0 +1,25 @@ +/** + * @typedef {import('../types.js').Unsafe} Unsafe + */ + +/** + * @param {Unsafe} pattern + * @returns {RegExp} + */ +export function patternCompile(pattern) { + if (!pattern._compiled) { + const before = + (pattern.atBreak ? '[\\r\\n][\\t ]*' : '') + + (pattern.before ? '(?:' + pattern.before + ')' : '') + + pattern._compiled = new RegExp( + (before ? '(' + before + ')' : '') + + (/[|\\{}()[\]^$+*?.-]/.test(pattern.character) ? '\\' : '') + + pattern.character + + (pattern.after ? '(?:' + pattern.after + ')' : ''), + 'g' + ) + } + + return pattern._compiled +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-in-scope.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-in-scope.js new file mode 100644 index 0000000000..19da059a53 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/pattern-in-scope.js @@ -0,0 +1,42 @@ +/** + * @typedef {import('../types.js').Unsafe} Unsafe + * @typedef {import('../types.js').ConstructName} ConstructName + */ + +/** + * @param {Array} stack + * @param {Unsafe} pattern + * @returns {boolean} + */ +export function patternInScope(stack, pattern) { + return ( + listInScope(stack, pattern.inConstruct, true) && + !listInScope(stack, pattern.notInConstruct, false) + ) +} + +/** + * @param {Array} stack + * @param {Unsafe['inConstruct']} list + * @param {boolean} none + * @returns {boolean} + */ +function listInScope(stack, list, none) { + if (typeof list === 'string') { + list = [list] + } + + if (!list || list.length === 0) { + return none + } + + let index = -1 + + while (++index < list.length) { + if (stack.includes(list[index])) { + return true + } + } + + return false +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/safe.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/safe.js new file mode 100644 index 0000000000..a1f53e1a13 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/safe.js @@ -0,0 +1,177 @@ +/** + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').SafeConfig} SafeConfig + */ + +import {patternCompile} from './pattern-compile.js' +import {patternInScope} from './pattern-in-scope.js' + +/** + * Make a string safe for embedding in markdown constructs. + * + * In markdown, almost all punctuation characters can, in certain cases, + * result in something. + * Whether they do is highly subjective to where they happen and in what + * they happen. + * + * To solve this, `mdast-util-to-markdown` tracks: + * + * * Characters before and after something; + * * What “constructs” we are in. + * + * This information is then used by this function to escape or encode + * special characters. + * + * @param {State} state + * Info passed around about the current state. + * @param {string | null | undefined} input + * Raw value to make safe. + * @param {SafeConfig} config + * Configuration. + * @returns {string} + * Serialized markdown safe for embedding. + */ +export function safe(state, input, config) { + const value = (config.before || '') + (input || '') + (config.after || '') + /** @type {Array} */ + const positions = [] + /** @type {Array} */ + const result = [] + /** @type {Record} */ + const infos = {} + let index = -1 + + while (++index < state.unsafe.length) { + const pattern = state.unsafe[index] + + if (!patternInScope(state.stack, pattern)) { + continue + } + + const expression = patternCompile(pattern) + /** @type {RegExpExecArray | null} */ + let match + + while ((match = expression.exec(value))) { + const before = 'before' in pattern || Boolean(pattern.atBreak) + const after = 'after' in pattern + const position = match.index + (before ? match[1].length : 0) + + if (positions.includes(position)) { + if (infos[position].before && !before) { + infos[position].before = false + } + + if (infos[position].after && !after) { + infos[position].after = false + } + } else { + positions.push(position) + infos[position] = {before, after} + } + } + } + + positions.sort(numerical) + + let start = config.before ? config.before.length : 0 + const end = value.length - (config.after ? config.after.length : 0) + index = -1 + + while (++index < positions.length) { + const position = positions[index] + + // Character before or after matched: + if (position < start || position >= end) { + continue + } + + // If this character is supposed to be escaped because it has a condition on + // the next character, and the next character is definitly being escaped, + // then skip this escape. + if ( + (position + 1 < end && + positions[index + 1] === position + 1 && + infos[position].after && + !infos[position + 1].before && + !infos[position + 1].after) || + (positions[index - 1] === position - 1 && + infos[position].before && + !infos[position - 1].before && + !infos[position - 1].after) + ) { + continue + } + + if (start !== position) { + // If we have to use a character reference, an ampersand would be more + // correct, but as backslashes only care about punctuation, either will + // do the trick + result.push(escapeBackslashes(value.slice(start, position), '\\')) + } + + start = position + + if ( + /[!-/:-@[-`{-~]/.test(value.charAt(position)) && + (!config.encode || !config.encode.includes(value.charAt(position))) + ) { + // Character escape. + result.push('\\') + } else { + // Character reference. + result.push( + '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';' + ) + start++ + } + } + + result.push(escapeBackslashes(value.slice(start, end), config.after)) + + return result.join('') +} + +/** + * @param {number} a + * @param {number} b + * @returns {number} + */ +function numerical(a, b) { + return a - b +} + +/** + * @param {string} value + * @param {string} after + * @returns {string} + */ +function escapeBackslashes(value, after) { + const expression = /\\(?=[!-/:-@[-`{-~])/g + /** @type {Array} */ + const positions = [] + /** @type {Array} */ + const results = [] + const whole = value + after + let index = -1 + let start = 0 + /** @type {RegExpExecArray | null} */ + let match + + while ((match = expression.exec(whole))) { + positions.push(match.index) + } + + while (++index < positions.length) { + if (start !== positions[index]) { + results.push(value.slice(start, positions[index])) + } + + results.push('\\') + start = positions[index] + } + + results.push(value.slice(start)) + + return results.join('') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/track.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/track.js new file mode 100644 index 0000000000..b88ef39b53 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/lib/util/track.js @@ -0,0 +1,58 @@ +/** + * @typedef {import('../types.js').CreateTracker} CreateTracker + * @typedef {import('../types.js').TrackCurrent} TrackCurrent + * @typedef {import('../types.js').TrackMove} TrackMove + * @typedef {import('../types.js').TrackShift} TrackShift + */ + +/** + * Track positional info in the output. + * + * @type {CreateTracker} + */ +export function track(config) { + // Defaults are used to prevent crashes when older utilities somehow activate + // this code. + /* c8 ignore next 5 */ + const options = config || {} + const now = options.now || {} + let lineShift = options.lineShift || 0 + let line = now.line || 1 + let column = now.column || 1 + + return {move, current, shift} + + /** + * Get the current tracked info. + * + * @type {TrackCurrent} + */ + function current() { + return {now: {line, column}, lineShift} + } + + /** + * Define an increased line shift (the typical indent for lines). + * + * @type {TrackShift} + */ + function shift(value) { + lineShift += value + } + + /** + * Move past some generated markdown. + * + * @type {TrackMove} + */ + function move(input) { + // eslint-disable-next-line unicorn/prefer-default-parameters + const value = input || '' + const chunks = value.split(/\r?\n|\r/g) + const tail = chunks[chunks.length - 1] + line += chunks.length - 1 + column = + chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift + return value + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/node_modules/micromark-util-decode-string b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/node_modules/micromark-util-decode-string new file mode 120000 index 0000000000..dc5b8d0454 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/node_modules/micromark-util-decode-string @@ -0,0 +1 @@ +../../micromark-util-decode-string@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/package.json b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/package.json new file mode 100644 index 0000000000..4b651ee1af --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@1.5.0/package.json @@ -0,0 +1,100 @@ +{ + "name": "mdast-util-to-markdown", + "version": "1.5.0", + "description": "mdast utility to serialize markdown", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "markup", + "serialize", + "stringify", + "compile", + "syntax", + "tree", + "ast" + ], + "repository": "syntax-tree/mdast-util-to-markdown", + "bugs": "https://github.com/syntax-tree/mdast-util-to-markdown/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "mdast-util-from-markdown": "^1.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "complexity": "off", + "unicorn/prefer-code-point": "off", + "unicorn/prefer-switch": "off" + } + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true, + "ignoreFiles": [ + "lib/types.d.ts" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/index.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/index.js new file mode 100644 index 0000000000..24a6ef3c24 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/index.js @@ -0,0 +1,3 @@ +// Note: extra types exposed from `index.d.ts`. +export {toMarkdown} from './lib/index.js' +export {handle as defaultHandlers} from './lib/handle/index.js' diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/configure.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/configure.js new file mode 100644 index 0000000000..37dffeb0f2 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/configure.js @@ -0,0 +1,80 @@ +/** + * @typedef {import('./types.js').Options} Options + * @typedef {import('./types.js').State} State + */ + +const own = {}.hasOwnProperty + +/** + * @param {State} base + * @param {Options} extension + * @returns {State} + */ +export function configure(base, extension) { + let index = -1 + /** @type {keyof Options} */ + let key + + // First do subextensions. + if (extension.extensions) { + while (++index < extension.extensions.length) { + configure(base, extension.extensions[index]) + } + } + + for (key in extension) { + if (own.call(extension, key)) { + switch (key) { + case 'extensions': { + // Empty. + break + } + + /* c8 ignore next 4 */ + case 'unsafe': { + list(base[key], extension[key]) + break + } + + case 'join': { + list(base[key], extension[key]) + break + } + + case 'handlers': { + map(base[key], extension[key]) + break + } + + default: { + // @ts-expect-error: matches. + base.options[key] = extension[key] + } + } + } + } + + return base +} + +/** + * @template T + * @param {Array} left + * @param {Array | null | undefined} right + */ +function list(left, right) { + if (right) { + left.push(...right) + } +} + +/** + * @template T + * @param {Record} left + * @param {Record | null | undefined} right + */ +function map(left, right) { + if (right) { + Object.assign(left, right) + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/blockquote.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/blockquote.js new file mode 100644 index 0000000000..7727364e89 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/blockquote.js @@ -0,0 +1,32 @@ +/** + * @typedef {import('mdast').Blockquote} Blockquote + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').Map} Map + * @typedef {import('../types.js').State} State + */ + +/** + * @param {Blockquote} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function blockquote(node, _, state, info) { + const exit = state.enter('blockquote') + const tracker = state.createTracker(info) + tracker.move('> ') + tracker.shift(2) + const value = state.indentLines( + state.containerFlow(node, tracker.current()), + map + ) + exit() + return value +} + +/** @type {Map} */ +function map(line, _, blank) { + return '>' + (blank ? '' : ' ') + line +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/break.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/break.js new file mode 100644 index 0000000000..bfb7d02aa6 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/break.js @@ -0,0 +1,32 @@ +/** + * @typedef {import('mdast').Break} Break + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {patternInScope} from '../util/pattern-in-scope.js' + +/** + * @param {Break} _ + * @param {Parents | undefined} _1 + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function hardBreak(_, _1, state, info) { + let index = -1 + + while (++index < state.unsafe.length) { + // If we can’t put eols in this construct (setext headings, tables), use a + // space instead. + if ( + state.unsafe[index].character === '\n' && + patternInScope(state.stack, state.unsafe[index]) + ) { + return /[ \t]/.test(info.before) ? '' : ' ' + } + } + + return '\\\n' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/code.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/code.js new file mode 100644 index 0000000000..44dc0e4d1b --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/code.js @@ -0,0 +1,78 @@ +/** + * @typedef {import('mdast').Code} Code + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').Map} Map + * @typedef {import('../types.js').State} State + */ + +import {longestStreak} from 'longest-streak' +import {formatCodeAsIndented} from '../util/format-code-as-indented.js' +import {checkFence} from '../util/check-fence.js' + +/** + * @param {Code} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function code(node, _, state, info) { + const marker = checkFence(state) + const raw = node.value || '' + const suffix = marker === '`' ? 'GraveAccent' : 'Tilde' + + if (formatCodeAsIndented(node, state)) { + const exit = state.enter('codeIndented') + const value = state.indentLines(raw, map) + exit() + return value + } + + const tracker = state.createTracker(info) + const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3)) + const exit = state.enter('codeFenced') + let value = tracker.move(sequence) + + if (node.lang) { + const subexit = state.enter(`codeFencedLang${suffix}`) + value += tracker.move( + state.safe(node.lang, { + before: value, + after: ' ', + encode: ['`'], + ...tracker.current() + }) + ) + subexit() + } + + if (node.lang && node.meta) { + const subexit = state.enter(`codeFencedMeta${suffix}`) + value += tracker.move(' ') + value += tracker.move( + state.safe(node.meta, { + before: value, + after: '\n', + encode: ['`'], + ...tracker.current() + }) + ) + subexit() + } + + value += tracker.move('\n') + + if (raw) { + value += tracker.move(raw + '\n') + } + + value += tracker.move(sequence) + exit() + return value +} + +/** @type {Map} */ +function map(line, _, blank) { + return (blank ? '' : ' ') + line +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/definition.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/definition.js new file mode 100644 index 0000000000..47febb49cc --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/definition.js @@ -0,0 +1,78 @@ +/** + * @typedef {import('mdast').Definition} Definition + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkQuote} from '../util/check-quote.js' + +/** + * @param {Definition} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function definition(node, _, state, info) { + const quote = checkQuote(state) + const suffix = quote === '"' ? 'Quote' : 'Apostrophe' + const exit = state.enter('definition') + let subexit = state.enter('label') + const tracker = state.createTracker(info) + let value = tracker.move('[') + value += tracker.move( + state.safe(state.associationId(node), { + before: value, + after: ']', + ...tracker.current() + }) + ) + value += tracker.move(']: ') + + subexit() + + if ( + // If there’s no url, or… + !node.url || + // If there are control characters or whitespace. + /[\0- \u007F]/.test(node.url) + ) { + subexit = state.enter('destinationLiteral') + value += tracker.move('<') + value += tracker.move( + state.safe(node.url, {before: value, after: '>', ...tracker.current()}) + ) + value += tracker.move('>') + } else { + // No whitespace, raw is prettier. + subexit = state.enter('destinationRaw') + value += tracker.move( + state.safe(node.url, { + before: value, + after: node.title ? ' ' : '\n', + ...tracker.current() + }) + ) + } + + subexit() + + if (node.title) { + subexit = state.enter(`title${suffix}`) + value += tracker.move(' ' + quote) + value += tracker.move( + state.safe(node.title, { + before: value, + after: quote, + ...tracker.current() + }) + ) + value += tracker.move(quote) + subexit() + } + + exit() + + return value +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/emphasis.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/emphasis.js new file mode 100644 index 0000000000..f189fcb78e --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/emphasis.js @@ -0,0 +1,48 @@ +/** + * @typedef {import('mdast').Emphasis} Emphasis + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkEmphasis} from '../util/check-emphasis.js' + +emphasis.peek = emphasisPeek + +// To do: there are cases where emphasis cannot “form” depending on the +// previous or next character of sequences. +// There’s no way around that though, except for injecting zero-width stuff. +// Do we need to safeguard against that? +/** + * @param {Emphasis} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function emphasis(node, _, state, info) { + const marker = checkEmphasis(state) + const exit = state.enter('emphasis') + const tracker = state.createTracker(info) + let value = tracker.move(marker) + value += tracker.move( + state.containerPhrasing(node, { + before: value, + after: marker, + ...tracker.current() + }) + ) + value += tracker.move(marker) + exit() + return value +} + +/** + * @param {Emphasis} _ + * @param {Parents | undefined} _1 + * @param {State} state + * @returns {string} + */ +function emphasisPeek(_, _1, state) { + return state.options.emphasis || '*' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/heading.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/heading.js new file mode 100644 index 0000000000..5c4ebb79b0 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/heading.js @@ -0,0 +1,80 @@ +/** + * @typedef {import('mdast').Heading} Heading + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {formatHeadingAsSetext} from '../util/format-heading-as-setext.js' + +/** + * @param {Heading} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function heading(node, _, state, info) { + const rank = Math.max(Math.min(6, node.depth || 1), 1) + const tracker = state.createTracker(info) + + if (formatHeadingAsSetext(node, state)) { + const exit = state.enter('headingSetext') + const subexit = state.enter('phrasing') + const value = state.containerPhrasing(node, { + ...tracker.current(), + before: '\n', + after: '\n' + }) + subexit() + exit() + + return ( + value + + '\n' + + (rank === 1 ? '=' : '-').repeat( + // The whole size… + value.length - + // Minus the position of the character after the last EOL (or + // 0 if there is none)… + (Math.max(value.lastIndexOf('\r'), value.lastIndexOf('\n')) + 1) + ) + ) + } + + const sequence = '#'.repeat(rank) + const exit = state.enter('headingAtx') + const subexit = state.enter('phrasing') + + // Note: for proper tracking, we should reset the output positions when there + // is no content returned, because then the space is not output. + // Practically, in that case, there is no content, so it doesn’t matter that + // we’ve tracked one too many characters. + tracker.move(sequence + ' ') + + let value = state.containerPhrasing(node, { + before: '# ', + after: '\n', + ...tracker.current() + }) + + if (/^[\t ]/.test(value)) { + // To do: what effect has the character reference on tracking? + value = + '&#x' + + value.charCodeAt(0).toString(16).toUpperCase() + + ';' + + value.slice(1) + } + + value = value ? sequence + ' ' + value : sequence + + if (state.options.closeAtx) { + value += ' ' + sequence + } + + subexit() + exit() + + return value +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/html.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/html.js new file mode 100644 index 0000000000..53745aac97 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/html.js @@ -0,0 +1,20 @@ +/** + * @typedef {import('mdast').Html} Html + */ + +html.peek = htmlPeek + +/** + * @param {Html} node + * @returns {string} + */ +export function html(node) { + return node.value || '' +} + +/** + * @returns {string} + */ +function htmlPeek() { + return '<' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image-reference.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image-reference.js new file mode 100644 index 0000000000..6ae410a907 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image-reference.js @@ -0,0 +1,65 @@ +/** + * @typedef {import('mdast').ImageReference} ImageReference + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +imageReference.peek = imageReferencePeek + +/** + * @param {ImageReference} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function imageReference(node, _, state, info) { + const type = node.referenceType + const exit = state.enter('imageReference') + let subexit = state.enter('label') + const tracker = state.createTracker(info) + let value = tracker.move('![') + const alt = state.safe(node.alt, { + before: value, + after: ']', + ...tracker.current() + }) + value += tracker.move(alt + '][') + + subexit() + // Hide the fact that we’re in phrasing, because escapes don’t work. + const stack = state.stack + state.stack = [] + subexit = state.enter('reference') + // Note: for proper tracking, we should reset the output positions when we end + // up making a `shortcut` reference, because then there is no brace output. + // Practically, in that case, there is no content, so it doesn’t matter that + // we’ve tracked one too many characters. + const reference = state.safe(state.associationId(node), { + before: value, + after: ']', + ...tracker.current() + }) + subexit() + state.stack = stack + exit() + + if (type === 'full' || !alt || alt !== reference) { + value += tracker.move(reference + ']') + } else if (type === 'shortcut') { + // Remove the unwanted `[`. + value = value.slice(0, -1) + } else { + value += tracker.move(']') + } + + return value +} + +/** + * @returns {string} + */ +function imageReferencePeek() { + return '!' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image.js new file mode 100644 index 0000000000..b74423f31d --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/image.js @@ -0,0 +1,84 @@ +/** + * @typedef {import('mdast').Image} Image + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkQuote} from '../util/check-quote.js' + +image.peek = imagePeek + +/** + * @param {Image} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function image(node, _, state, info) { + const quote = checkQuote(state) + const suffix = quote === '"' ? 'Quote' : 'Apostrophe' + const exit = state.enter('image') + let subexit = state.enter('label') + const tracker = state.createTracker(info) + let value = tracker.move('![') + value += tracker.move( + state.safe(node.alt, {before: value, after: ']', ...tracker.current()}) + ) + value += tracker.move('](') + + subexit() + + if ( + // If there’s no url but there is a title… + (!node.url && node.title) || + // If there are control characters or whitespace. + /[\0- \u007F]/.test(node.url) + ) { + subexit = state.enter('destinationLiteral') + value += tracker.move('<') + value += tracker.move( + state.safe(node.url, {before: value, after: '>', ...tracker.current()}) + ) + value += tracker.move('>') + } else { + // No whitespace, raw is prettier. + subexit = state.enter('destinationRaw') + value += tracker.move( + state.safe(node.url, { + before: value, + after: node.title ? ' ' : ')', + ...tracker.current() + }) + ) + } + + subexit() + + if (node.title) { + subexit = state.enter(`title${suffix}`) + value += tracker.move(' ' + quote) + value += tracker.move( + state.safe(node.title, { + before: value, + after: quote, + ...tracker.current() + }) + ) + value += tracker.move(quote) + subexit() + } + + value += tracker.move(')') + exit() + + return value +} + +/** + * @returns {string} + */ +function imagePeek() { + return '!' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/index.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/index.js new file mode 100644 index 0000000000..f03686a3d5 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/index.js @@ -0,0 +1,45 @@ +import {blockquote} from './blockquote.js' +import {hardBreak} from './break.js' +import {code} from './code.js' +import {definition} from './definition.js' +import {emphasis} from './emphasis.js' +import {heading} from './heading.js' +import {html} from './html.js' +import {image} from './image.js' +import {imageReference} from './image-reference.js' +import {inlineCode} from './inline-code.js' +import {link} from './link.js' +import {linkReference} from './link-reference.js' +import {list} from './list.js' +import {listItem} from './list-item.js' +import {paragraph} from './paragraph.js' +import {root} from './root.js' +import {strong} from './strong.js' +import {text} from './text.js' +import {thematicBreak} from './thematic-break.js' + +/** + * Default (CommonMark) handlers. + */ +export const handle = { + blockquote, + break: hardBreak, + code, + definition, + emphasis, + hardBreak, + heading, + html, + image, + imageReference, + inlineCode, + link, + linkReference, + list, + listItem, + paragraph, + root, + strong, + text, + thematicBreak +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/inline-code.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/inline-code.js new file mode 100644 index 0000000000..3b778165fd --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/inline-code.js @@ -0,0 +1,77 @@ +/** + * @typedef {import('mdast').InlineCode} InlineCode + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').State} State + */ + +inlineCode.peek = inlineCodePeek + +/** + * @param {InlineCode} node + * @param {Parents | undefined} _ + * @param {State} state + * @returns {string} + */ +export function inlineCode(node, _, state) { + let value = node.value || '' + let sequence = '`' + let index = -1 + + // If there is a single grave accent on its own in the code, use a fence of + // two. + // If there are two in a row, use one. + while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) { + sequence += '`' + } + + // If this is not just spaces or eols (tabs don’t count), and either the + // first or last character are a space, eol, or tick, then pad with spaces. + if ( + /[^ \r\n]/.test(value) && + ((/^[ \r\n]/.test(value) && /[ \r\n]$/.test(value)) || /^`|`$/.test(value)) + ) { + value = ' ' + value + ' ' + } + + // We have a potential problem: certain characters after eols could result in + // blocks being seen. + // For example, if someone injected the string `'\n# b'`, then that would + // result in an ATX heading. + // We can’t escape characters in `inlineCode`, but because eols are + // transformed to spaces when going from markdown to HTML anyway, we can swap + // them out. + while (++index < state.unsafe.length) { + const pattern = state.unsafe[index] + const expression = state.compilePattern(pattern) + /** @type {RegExpExecArray | null} */ + let match + + // Only look for `atBreak`s. + // Btw: note that `atBreak` patterns will always start the regex at LF or + // CR. + if (!pattern.atBreak) continue + + while ((match = expression.exec(value))) { + let position = match.index + + // Support CRLF (patterns only look for one of the characters). + if ( + value.charCodeAt(position) === 10 /* `\n` */ && + value.charCodeAt(position - 1) === 13 /* `\r` */ + ) { + position-- + } + + value = value.slice(0, position) + ' ' + value.slice(match.index + 1) + } + } + + return sequence + value + sequence +} + +/** + * @returns {string} + */ +function inlineCodePeek() { + return '`' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link-reference.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link-reference.js new file mode 100644 index 0000000000..95adb39722 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link-reference.js @@ -0,0 +1,65 @@ +/** + * @typedef {import('mdast').LinkReference} LinkReference + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +linkReference.peek = linkReferencePeek + +/** + * @param {LinkReference} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function linkReference(node, _, state, info) { + const type = node.referenceType + const exit = state.enter('linkReference') + let subexit = state.enter('label') + const tracker = state.createTracker(info) + let value = tracker.move('[') + const text = state.containerPhrasing(node, { + before: value, + after: ']', + ...tracker.current() + }) + value += tracker.move(text + '][') + + subexit() + // Hide the fact that we’re in phrasing, because escapes don’t work. + const stack = state.stack + state.stack = [] + subexit = state.enter('reference') + // Note: for proper tracking, we should reset the output positions when we end + // up making a `shortcut` reference, because then there is no brace output. + // Practically, in that case, there is no content, so it doesn’t matter that + // we’ve tracked one too many characters. + const reference = state.safe(state.associationId(node), { + before: value, + after: ']', + ...tracker.current() + }) + subexit() + state.stack = stack + exit() + + if (type === 'full' || !text || text !== reference) { + value += tracker.move(reference + ']') + } else if (type === 'shortcut') { + // Remove the unwanted `[`. + value = value.slice(0, -1) + } else { + value += tracker.move(']') + } + + return value +} + +/** + * @returns {string} + */ +function linkReferencePeek() { + return '[' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link.js new file mode 100644 index 0000000000..dc79de8050 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/link.js @@ -0,0 +1,116 @@ +/** + * @typedef {import('mdast').Link} Link + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Exit} Exit + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkQuote} from '../util/check-quote.js' +import {formatLinkAsAutolink} from '../util/format-link-as-autolink.js' + +link.peek = linkPeek + +/** + * @param {Link} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function link(node, _, state, info) { + const quote = checkQuote(state) + const suffix = quote === '"' ? 'Quote' : 'Apostrophe' + const tracker = state.createTracker(info) + /** @type {Exit} */ + let exit + /** @type {Exit} */ + let subexit + + if (formatLinkAsAutolink(node, state)) { + // Hide the fact that we’re in phrasing, because escapes don’t work. + const stack = state.stack + state.stack = [] + exit = state.enter('autolink') + let value = tracker.move('<') + value += tracker.move( + state.containerPhrasing(node, { + before: value, + after: '>', + ...tracker.current() + }) + ) + value += tracker.move('>') + exit() + state.stack = stack + return value + } + + exit = state.enter('link') + subexit = state.enter('label') + let value = tracker.move('[') + value += tracker.move( + state.containerPhrasing(node, { + before: value, + after: '](', + ...tracker.current() + }) + ) + value += tracker.move('](') + subexit() + + if ( + // If there’s no url but there is a title… + (!node.url && node.title) || + // If there are control characters or whitespace. + /[\0- \u007F]/.test(node.url) + ) { + subexit = state.enter('destinationLiteral') + value += tracker.move('<') + value += tracker.move( + state.safe(node.url, {before: value, after: '>', ...tracker.current()}) + ) + value += tracker.move('>') + } else { + // No whitespace, raw is prettier. + subexit = state.enter('destinationRaw') + value += tracker.move( + state.safe(node.url, { + before: value, + after: node.title ? ' ' : ')', + ...tracker.current() + }) + ) + } + + subexit() + + if (node.title) { + subexit = state.enter(`title${suffix}`) + value += tracker.move(' ' + quote) + value += tracker.move( + state.safe(node.title, { + before: value, + after: quote, + ...tracker.current() + }) + ) + value += tracker.move(quote) + subexit() + } + + value += tracker.move(')') + + exit() + return value +} + +/** + * @param {Link} node + * @param {Parents | undefined} _ + * @param {State} state + * @returns {string} + */ +function linkPeek(node, _, state) { + return formatLinkAsAutolink(node, state) ? '<' : '[' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list-item.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list-item.js new file mode 100644 index 0000000000..a77c559f6a --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list-item.js @@ -0,0 +1,65 @@ +/** + * @typedef {import('mdast').ListItem} ListItem + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').Map} Map + * @typedef {import('../types.js').State} State + */ + +import {checkBullet} from '../util/check-bullet.js' +import {checkListItemIndent} from '../util/check-list-item-indent.js' + +/** + * @param {ListItem} node + * @param {Parents | undefined} parent + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function listItem(node, parent, state, info) { + const listItemIndent = checkListItemIndent(state) + let bullet = state.bulletCurrent || checkBullet(state) + + // Add the marker value for ordered lists. + if (parent && parent.type === 'list' && parent.ordered) { + bullet = + (typeof parent.start === 'number' && parent.start > -1 + ? parent.start + : 1) + + (state.options.incrementListMarker === false + ? 0 + : parent.children.indexOf(node)) + + bullet + } + + let size = bullet.length + 1 + + if ( + listItemIndent === 'tab' || + (listItemIndent === 'mixed' && + ((parent && parent.type === 'list' && parent.spread) || node.spread)) + ) { + size = Math.ceil(size / 4) * 4 + } + + const tracker = state.createTracker(info) + tracker.move(bullet + ' '.repeat(size - bullet.length)) + tracker.shift(size) + const exit = state.enter('listItem') + const value = state.indentLines( + state.containerFlow(node, tracker.current()), + map + ) + exit() + + return value + + /** @type {Map} */ + function map(line, index, blank) { + if (index) { + return (blank ? '' : ' '.repeat(size)) + line + } + + return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list.js new file mode 100644 index 0000000000..4bb54cfffd --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/list.js @@ -0,0 +1,102 @@ +/** + * @typedef {import('mdast').List} List + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkBullet} from '../util/check-bullet.js' +import {checkBulletOther} from '../util/check-bullet-other.js' +import {checkBulletOrdered} from '../util/check-bullet-ordered.js' +import {checkRule} from '../util/check-rule.js' + +/** + * @param {List} node + * @param {Parents | undefined} parent + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function list(node, parent, state, info) { + const exit = state.enter('list') + const bulletCurrent = state.bulletCurrent + /** @type {string} */ + let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state) + /** @type {string} */ + const bulletOther = node.ordered + ? bullet === '.' + ? ')' + : '.' + : checkBulletOther(state) + let useDifferentMarker = + parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false + + if (!node.ordered) { + const firstListItem = node.children ? node.children[0] : undefined + + // If there’s an empty first list item directly in two list items, + // we have to use a different bullet: + // + // ```markdown + // * - * + // ``` + // + // …because otherwise it would become one big thematic break. + if ( + // Bullet could be used as a thematic break marker: + (bullet === '*' || bullet === '-') && + // Empty first list item: + firstListItem && + (!firstListItem.children || !firstListItem.children[0]) && + // Directly in two other list items: + state.stack[state.stack.length - 1] === 'list' && + state.stack[state.stack.length - 2] === 'listItem' && + state.stack[state.stack.length - 3] === 'list' && + state.stack[state.stack.length - 4] === 'listItem' && + // That are each the first child. + state.indexStack[state.indexStack.length - 1] === 0 && + state.indexStack[state.indexStack.length - 2] === 0 && + state.indexStack[state.indexStack.length - 3] === 0 + ) { + useDifferentMarker = true + } + + // If there’s a thematic break at the start of the first list item, + // we have to use a different bullet: + // + // ```markdown + // * --- + // ``` + // + // …because otherwise it would become one big thematic break. + if (checkRule(state) === bullet && firstListItem) { + let index = -1 + + while (++index < node.children.length) { + const item = node.children[index] + + if ( + item && + item.type === 'listItem' && + item.children && + item.children[0] && + item.children[0].type === 'thematicBreak' + ) { + useDifferentMarker = true + break + } + } + } + } + + if (useDifferentMarker) { + bullet = bulletOther + } + + state.bulletCurrent = bullet + const value = state.containerFlow(node, info) + state.bulletLastUsed = bullet + state.bulletCurrent = bulletCurrent + exit() + return value +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/paragraph.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/paragraph.js new file mode 100644 index 0000000000..12a29c941b --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/paragraph.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('mdast').Paragraph} Paragraph + * @typedef {import('mdast').Parents} Parents + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +/** + * @param {Paragraph} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function paragraph(node, _, state, info) { + const exit = state.enter('paragraph') + const subexit = state.enter('phrasing') + const value = state.containerPhrasing(node, info) + subexit() + exit() + return value +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/root.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/root.js new file mode 100644 index 0000000000..dc835a9f13 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/root.js @@ -0,0 +1,24 @@ +/** + * @typedef {import('mdast').Parents} Parents + * @typedef {import('mdast').Root} Root + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {phrasing} from 'mdast-util-phrasing' + +/** + * @param {Root} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function root(node, _, state, info) { + // Note: `html` nodes are ambiguous. + const hasPhrasing = node.children.some(function (d) { + return phrasing(d) + }) + const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow + return fn.call(state, node, info) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/strong.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/strong.js new file mode 100644 index 0000000000..9356e69c68 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/strong.js @@ -0,0 +1,48 @@ +/** + * @typedef {import('mdast').Parents} Parents + * @typedef {import('mdast').Strong} Strong + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +import {checkStrong} from '../util/check-strong.js' + +strong.peek = strongPeek + +// To do: there are cases where emphasis cannot “form” depending on the +// previous or next character of sequences. +// There’s no way around that though, except for injecting zero-width stuff. +// Do we need to safeguard against that? +/** + * @param {Strong} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function strong(node, _, state, info) { + const marker = checkStrong(state) + const exit = state.enter('strong') + const tracker = state.createTracker(info) + let value = tracker.move(marker + marker) + value += tracker.move( + state.containerPhrasing(node, { + before: value, + after: marker, + ...tracker.current() + }) + ) + value += tracker.move(marker + marker) + exit() + return value +} + +/** + * @param {Strong} _ + * @param {Parents | undefined} _1 + * @param {State} state + * @returns {string} + */ +function strongPeek(_, _1, state) { + return state.options.strong || '*' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/text.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/text.js new file mode 100644 index 0000000000..66282a9664 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/text.js @@ -0,0 +1,17 @@ +/** + * @typedef {import('mdast').Parents} Parents + * @typedef {import('mdast').Text} Text + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').State} State + */ + +/** + * @param {Text} node + * @param {Parents | undefined} _ + * @param {State} state + * @param {Info} info + * @returns {string} + */ +export function text(node, _, state, info) { + return state.safe(node.value, info) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/thematic-break.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/thematic-break.js new file mode 100644 index 0000000000..e1bf1fe1ea --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/handle/thematic-break.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('mdast').Parents} Parents + * @typedef {import('mdast').ThematicBreak} ThematicBreak + * @typedef {import('../types.js').State} State + */ + +import {checkRuleRepetition} from '../util/check-rule-repetition.js' +import {checkRule} from '../util/check-rule.js' + +/** + * @param {ThematicBreak} _ + * @param {Parents | undefined} _1 + * @param {State} state + * @returns {string} + */ +export function thematicBreak(_, _1, state) { + const value = ( + checkRule(state) + (state.options.ruleSpaces ? ' ' : '') + ).repeat(checkRuleRepetition(state)) + + return state.options.ruleSpaces ? value.slice(0, -1) : value +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/index.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/index.js new file mode 100644 index 0000000000..1ba2ebd526 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/index.js @@ -0,0 +1,193 @@ +/** + * @typedef {import('mdast').Nodes} Nodes + * @typedef {import('./types.js').Enter} Enter + * @typedef {import('./types.js').Info} Info + * @typedef {import('./types.js').Join} Join + * @typedef {import('./types.js').FlowParents} FlowParents + * @typedef {import('./types.js').Options} Options + * @typedef {import('./types.js').PhrasingParents} PhrasingParents + * @typedef {import('./types.js').SafeConfig} SafeConfig + * @typedef {import('./types.js').State} State + * @typedef {import('./types.js').TrackFields} TrackFields + */ + +import {zwitch} from 'zwitch' +import {configure} from './configure.js' +import {handle as handlers} from './handle/index.js' +import {join} from './join.js' +import {unsafe} from './unsafe.js' +import {association} from './util/association.js' +import {compilePattern} from './util/compile-pattern.js' +import {containerPhrasing} from './util/container-phrasing.js' +import {containerFlow} from './util/container-flow.js' +import {indentLines} from './util/indent-lines.js' +import {safe} from './util/safe.js' +import {track} from './util/track.js' + +/** + * Turn an mdast syntax tree into markdown. + * + * @param {Nodes} tree + * Tree to serialize. + * @param {Options} [options] + * Configuration (optional). + * @returns {string} + * Serialized markdown representing `tree`. + */ +export function toMarkdown(tree, options = {}) { + /** @type {State} */ + const state = { + enter, + indentLines, + associationId: association, + containerPhrasing: containerPhrasingBound, + containerFlow: containerFlowBound, + createTracker: track, + compilePattern, + safe: safeBound, + stack: [], + unsafe: [...unsafe], + join: [...join], + // @ts-expect-error: GFM / frontmatter are typed in `mdast` but not defined + // here. + handlers: {...handlers}, + options: {}, + indexStack: [], + // @ts-expect-error: add `handle` in a second. + handle: undefined + } + + configure(state, options) + + if (state.options.tightDefinitions) { + state.join.push(joinDefinition) + } + + state.handle = zwitch('type', { + invalid, + unknown, + handlers: state.handlers + }) + + let result = state.handle(tree, undefined, state, { + before: '\n', + after: '\n', + now: {line: 1, column: 1}, + lineShift: 0 + }) + + if ( + result && + result.charCodeAt(result.length - 1) !== 10 && + result.charCodeAt(result.length - 1) !== 13 + ) { + result += '\n' + } + + return result + + /** @type {Enter} */ + function enter(name) { + state.stack.push(name) + return exit + + /** + * @returns {undefined} + */ + function exit() { + state.stack.pop() + } + } +} + +/** + * @param {unknown} value + * @returns {never} + */ +function invalid(value) { + throw new Error('Cannot handle value `' + value + '`, expected node') +} + +/** + * @param {unknown} value + * @returns {never} + */ +function unknown(value) { + // Always a node. + const node = /** @type {Nodes} */ (value) + throw new Error('Cannot handle unknown node `' + node.type + '`') +} + +/** @type {Join} */ +function joinDefinition(left, right) { + // No blank line between adjacent definitions. + if (left.type === 'definition' && left.type === right.type) { + return 0 + } +} + +/** + * Serialize the children of a parent that contains phrasing children. + * + * These children will be joined flush together. + * + * @this {State} + * Info passed around about the current state. + * @param {PhrasingParents} parent + * Parent of flow nodes. + * @param {Info} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined together. + */ +function containerPhrasingBound(parent, info) { + return containerPhrasing(parent, this, info) +} + +/** + * Serialize the children of a parent that contains flow children. + * + * These children will typically be joined by blank lines. + * What they are joined by exactly is defined by `Join` functions. + * + * @this {State} + * Info passed around about the current state. + * @param {FlowParents} parent + * Parent of flow nodes. + * @param {TrackFields} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined by (blank) lines. + */ +function containerFlowBound(parent, info) { + return containerFlow(parent, this, info) +} + +/** + * Make a string safe for embedding in markdown constructs. + * + * In markdown, almost all punctuation characters can, in certain cases, + * result in something. + * Whether they do is highly subjective to where they happen and in what + * they happen. + * + * To solve this, `mdast-util-to-markdown` tracks: + * + * * Characters before and after something; + * * What “constructs” we are in. + * + * This information is then used by this function to escape or encode + * special characters. + * + * @this {State} + * Info passed around about the current state. + * @param {string | null | undefined} value + * Raw value to make safe. + * @param {SafeConfig} config + * Configuration. + * @returns {string} + * Serialized markdown safe for embedding. + */ +function safeBound(value, config) { + return safe(this, value, config) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/join.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/join.js new file mode 100644 index 0000000000..54e86b66ac --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/join.js @@ -0,0 +1,39 @@ +/** + * @typedef {import('./types.js').Join} Join + */ + +import {formatCodeAsIndented} from './util/format-code-as-indented.js' +import {formatHeadingAsSetext} from './util/format-heading-as-setext.js' + +/** @type {Array} */ +export const join = [joinDefaults] + +/** @type {Join} */ +function joinDefaults(left, right, parent, state) { + // Indented code after list or another indented code. + if ( + right.type === 'code' && + formatCodeAsIndented(right, state) && + (left.type === 'list' || + (left.type === right.type && formatCodeAsIndented(left, state))) + ) { + return false + } + + // Join children of a list or an item. + // In which case, `parent` has a `spread` field. + if ('spread' in parent && typeof parent.spread === 'boolean') { + if ( + left.type === 'paragraph' && + // Two paragraphs. + (left.type === right.type || + right.type === 'definition' || + // Paragraph followed by a setext heading. + (right.type === 'heading' && formatHeadingAsSetext(right, state))) + ) { + return + } + + return parent.spread ? 1 : 0 + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/unsafe.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/unsafe.js new file mode 100644 index 0000000000..5e1a07f669 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/unsafe.js @@ -0,0 +1,147 @@ +/** + * @typedef {import('./types.js').ConstructName} ConstructName + * @typedef {import('./types.js').Unsafe} Unsafe + */ + +/** + * List of constructs that occur in phrasing (paragraphs, headings), but cannot + * contain things like attention (emphasis, strong), images, or links. + * So they sort of cancel each other out. + * Note: could use a better name. + * + * @type {Array} + */ +const fullPhrasingSpans = [ + 'autolink', + 'destinationLiteral', + 'destinationRaw', + 'reference', + 'titleQuote', + 'titleApostrophe' +] + +/** @type {Array} */ +export const unsafe = [ + {character: '\t', after: '[\\r\\n]', inConstruct: 'phrasing'}, + {character: '\t', before: '[\\r\\n]', inConstruct: 'phrasing'}, + { + character: '\t', + inConstruct: ['codeFencedLangGraveAccent', 'codeFencedLangTilde'] + }, + { + character: '\r', + inConstruct: [ + 'codeFencedLangGraveAccent', + 'codeFencedLangTilde', + 'codeFencedMetaGraveAccent', + 'codeFencedMetaTilde', + 'destinationLiteral', + 'headingAtx' + ] + }, + { + character: '\n', + inConstruct: [ + 'codeFencedLangGraveAccent', + 'codeFencedLangTilde', + 'codeFencedMetaGraveAccent', + 'codeFencedMetaTilde', + 'destinationLiteral', + 'headingAtx' + ] + }, + {character: ' ', after: '[\\r\\n]', inConstruct: 'phrasing'}, + {character: ' ', before: '[\\r\\n]', inConstruct: 'phrasing'}, + { + character: ' ', + inConstruct: ['codeFencedLangGraveAccent', 'codeFencedLangTilde'] + }, + // An exclamation mark can start an image, if it is followed by a link or + // a link reference. + { + character: '!', + after: '\\[', + inConstruct: 'phrasing', + notInConstruct: fullPhrasingSpans + }, + // A quote can break out of a title. + {character: '"', inConstruct: 'titleQuote'}, + // A number sign could start an ATX heading if it starts a line. + {atBreak: true, character: '#'}, + {character: '#', inConstruct: 'headingAtx', after: '(?:[\r\n]|$)'}, + // Dollar sign and percentage are not used in markdown. + // An ampersand could start a character reference. + {character: '&', after: '[#A-Za-z]', inConstruct: 'phrasing'}, + // An apostrophe can break out of a title. + {character: "'", inConstruct: 'titleApostrophe'}, + // A left paren could break out of a destination raw. + {character: '(', inConstruct: 'destinationRaw'}, + // A left paren followed by `]` could make something into a link or image. + { + before: '\\]', + character: '(', + inConstruct: 'phrasing', + notInConstruct: fullPhrasingSpans + }, + // A right paren could start a list item or break out of a destination + // raw. + {atBreak: true, before: '\\d+', character: ')'}, + {character: ')', inConstruct: 'destinationRaw'}, + // An asterisk can start thematic breaks, list items, emphasis, strong. + {atBreak: true, character: '*', after: '(?:[ \t\r\n*])'}, + {character: '*', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans}, + // A plus sign could start a list item. + {atBreak: true, character: '+', after: '(?:[ \t\r\n])'}, + // A dash can start thematic breaks, list items, and setext heading + // underlines. + {atBreak: true, character: '-', after: '(?:[ \t\r\n-])'}, + // A dot could start a list item. + {atBreak: true, before: '\\d+', character: '.', after: '(?:[ \t\r\n]|$)'}, + // Slash, colon, and semicolon are not used in markdown for constructs. + // A less than can start html (flow or text) or an autolink. + // HTML could start with an exclamation mark (declaration, cdata, comment), + // slash (closing tag), question mark (instruction), or a letter (tag). + // An autolink also starts with a letter. + // Finally, it could break out of a destination literal. + {atBreak: true, character: '<', after: '[!/?A-Za-z]'}, + { + character: '<', + after: '[!/?A-Za-z]', + inConstruct: 'phrasing', + notInConstruct: fullPhrasingSpans + }, + {character: '<', inConstruct: 'destinationLiteral'}, + // An equals to can start setext heading underlines. + {atBreak: true, character: '='}, + // A greater than can start block quotes and it can break out of a + // destination literal. + {atBreak: true, character: '>'}, + {character: '>', inConstruct: 'destinationLiteral'}, + // Question mark and at sign are not used in markdown for constructs. + // A left bracket can start definitions, references, labels, + {atBreak: true, character: '['}, + {character: '[', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans}, + {character: '[', inConstruct: ['label', 'reference']}, + // A backslash can start an escape (when followed by punctuation) or a + // hard break (when followed by an eol). + // Note: typical escapes are handled in `safe`! + {character: '\\', after: '[\\r\\n]', inConstruct: 'phrasing'}, + // A right bracket can exit labels. + {character: ']', inConstruct: ['label', 'reference']}, + // Caret is not used in markdown for constructs. + // An underscore can start emphasis, strong, or a thematic break. + {atBreak: true, character: '_'}, + {character: '_', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans}, + // A grave accent can start code (fenced or text), or it can break out of + // a grave accent code fence. + {atBreak: true, character: '`'}, + { + character: '`', + inConstruct: ['codeFencedLangGraveAccent', 'codeFencedMetaGraveAccent'] + }, + {character: '`', inConstruct: 'phrasing', notInConstruct: fullPhrasingSpans}, + // Left brace, vertical bar, right brace are not used in markdown for + // constructs. + // A tilde can start code (fenced). + {atBreak: true, character: '~'} +] diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/association.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/association.js new file mode 100644 index 0000000000..e2fec6b2c9 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/association.js @@ -0,0 +1,33 @@ +/** + * @typedef {import('../types.js').AssociationId} AssociationId + */ + +import {decodeString} from 'micromark-util-decode-string' + +/** + * Get an identifier from an association to match it to others. + * + * Associations are nodes that match to something else through an ID: + * . + * + * The `label` of an association is the string value: character escapes and + * references work, and casing is intact. + * The `identifier` is used to match one association to another: + * controversially, character escapes and references don’t work in this + * matching: `©` does not match `©`, and `\+` does not match `+`. + * + * But casing is ignored (and whitespace) is trimmed and collapsed: ` A\nb` + * matches `a b`. + * So, we do prefer the label when figuring out how we’re going to serialize: + * it has whitespace, casing, and we can ignore most useless character + * escapes and all character references. + * + * @type {AssociationId} + */ +export function association(node) { + if (node.label || !node.identifier) { + return node.label || '' + } + + return decodeString(node.identifier) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-ordered.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-ordered.js new file mode 100644 index 0000000000..9e9761755e --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-ordered.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkBulletOrdered(state) { + const marker = state.options.bulletOrdered || '.' + + if (marker !== '.' && marker !== ')') { + throw new Error( + 'Cannot serialize items with `' + + marker + + '` for `options.bulletOrdered`, expected `.` or `)`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-other.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-other.js new file mode 100644 index 0000000000..1fa73a7f52 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet-other.js @@ -0,0 +1,39 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +import {checkBullet} from './check-bullet.js' + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkBulletOther(state) { + const bullet = checkBullet(state) + const bulletOther = state.options.bulletOther + + if (!bulletOther) { + return bullet === '*' ? '-' : '*' + } + + if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') { + throw new Error( + 'Cannot serialize items with `' + + bulletOther + + '` for `options.bulletOther`, expected `*`, `+`, or `-`' + ) + } + + if (bulletOther === bullet) { + throw new Error( + 'Expected `bullet` (`' + + bullet + + '`) and `bulletOther` (`' + + bulletOther + + '`) to be different' + ) + } + + return bulletOther +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet.js new file mode 100644 index 0000000000..efd8cd47ca --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-bullet.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkBullet(state) { + const marker = state.options.bullet || '*' + + if (marker !== '*' && marker !== '+' && marker !== '-') { + throw new Error( + 'Cannot serialize items with `' + + marker + + '` for `options.bullet`, expected `*`, `+`, or `-`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-emphasis.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-emphasis.js new file mode 100644 index 0000000000..33b2020803 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-emphasis.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkEmphasis(state) { + const marker = state.options.emphasis || '*' + + if (marker !== '*' && marker !== '_') { + throw new Error( + 'Cannot serialize emphasis with `' + + marker + + '` for `options.emphasis`, expected `*`, or `_`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-fence.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-fence.js new file mode 100644 index 0000000000..6fce504552 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-fence.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkFence(state) { + const marker = state.options.fence || '`' + + if (marker !== '`' && marker !== '~') { + throw new Error( + 'Cannot serialize code with `' + + marker + + '` for `options.fence`, expected `` ` `` or `~`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-list-item-indent.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-list-item-indent.js new file mode 100644 index 0000000000..630f41cd78 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-list-item-indent.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkListItemIndent(state) { + const style = state.options.listItemIndent || 'one' + + if (style !== 'tab' && style !== 'one' && style !== 'mixed') { + throw new Error( + 'Cannot serialize items with `' + + style + + '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`' + ) + } + + return style +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-quote.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-quote.js new file mode 100644 index 0000000000..9ebfe67f60 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-quote.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkQuote(state) { + const marker = state.options.quote || '"' + + if (marker !== '"' && marker !== "'") { + throw new Error( + 'Cannot serialize title with `' + + marker + + '` for `options.quote`, expected `"`, or `\'`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule-repetition.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule-repetition.js new file mode 100644 index 0000000000..be044412d4 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule-repetition.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkRuleRepetition(state) { + const repetition = state.options.ruleRepetition || 3 + + if (repetition < 3) { + throw new Error( + 'Cannot serialize rules with repetition `' + + repetition + + '` for `options.ruleRepetition`, expected `3` or more' + ) + } + + return repetition +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule.js new file mode 100644 index 0000000000..e1fc6ceabf --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-rule.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkRule(state) { + const marker = state.options.rule || '*' + + if (marker !== '*' && marker !== '-' && marker !== '_') { + throw new Error( + 'Cannot serialize rules with `' + + marker + + '` for `options.rule`, expected `*`, `-`, or `_`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-strong.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-strong.js new file mode 100644 index 0000000000..4881157130 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/check-strong.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('../types.js').Options} Options + * @typedef {import('../types.js').State} State + */ + +/** + * @param {State} state + * @returns {Exclude} + */ +export function checkStrong(state) { + const marker = state.options.strong || '*' + + if (marker !== '*' && marker !== '_') { + throw new Error( + 'Cannot serialize strong with `' + + marker + + '` for `options.strong`, expected `*`, or `_`' + ) + } + + return marker +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/compile-pattern.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/compile-pattern.js new file mode 100644 index 0000000000..6d57b2624b --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/compile-pattern.js @@ -0,0 +1,24 @@ +/** + * @typedef {import('../types.js').CompilePattern} CompilePattern + */ + +/** + * @type {CompilePattern} + */ +export function compilePattern(pattern) { + if (!pattern._compiled) { + const before = + (pattern.atBreak ? '[\\r\\n][\\t ]*' : '') + + (pattern.before ? '(?:' + pattern.before + ')' : '') + + pattern._compiled = new RegExp( + (before ? '(' + before + ')' : '') + + (/[|\\{}()[\]^$+*?.-]/.test(pattern.character) ? '\\' : '') + + pattern.character + + (pattern.after ? '(?:' + pattern.after + ')' : ''), + 'g' + ) + } + + return pattern._compiled +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-flow.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-flow.js new file mode 100644 index 0000000000..de0fe57589 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-flow.js @@ -0,0 +1,86 @@ +/** + * @typedef {import('../types.js').FlowParents} FlowParents + * @typedef {import('../types.js').FlowChildren} FlowChildren + * @typedef {import('../types.js').State} State + * @typedef {import('../types.js').TrackFields} TrackFields + */ + +/** + * @param {FlowParents} parent + * Parent of flow nodes. + * @param {State} state + * Info passed around about the current state. + * @param {TrackFields} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined by (blank) lines. + */ +export function containerFlow(parent, state, info) { + const indexStack = state.indexStack + const children = parent.children || [] + const tracker = state.createTracker(info) + /** @type {Array} */ + const results = [] + let index = -1 + + indexStack.push(-1) + + while (++index < children.length) { + const child = children[index] + + indexStack[indexStack.length - 1] = index + + results.push( + tracker.move( + state.handle(child, parent, state, { + before: '\n', + after: '\n', + ...tracker.current() + }) + ) + ) + + if (child.type !== 'list') { + state.bulletLastUsed = undefined + } + + if (index < children.length - 1) { + results.push( + tracker.move(between(child, children[index + 1], parent, state)) + ) + } + } + + indexStack.pop() + + return results.join('') +} + +/** + * @param {FlowChildren} left + * @param {FlowChildren} right + * @param {FlowParents} parent + * @param {State} state + * @returns {string} + */ +function between(left, right, parent, state) { + let index = state.join.length + + while (index--) { + const result = state.join[index](left, right, parent, state) + + if (result === true || result === 1) { + break + } + + if (typeof result === 'number') { + return '\n'.repeat(1 + result) + } + + if (result === false) { + return '\n\n\n\n' + } + } + + return '\n\n' +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-phrasing.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-phrasing.js new file mode 100644 index 0000000000..6339d798fe --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/container-phrasing.js @@ -0,0 +1,96 @@ +/** + * @typedef {import('../types.js').Handle} Handle + * @typedef {import('../types.js').Info} Info + * @typedef {import('../types.js').PhrasingParents} PhrasingParents + * @typedef {import('../types.js').State} State + */ + +/** + * Serialize the children of a parent that contains phrasing children. + * + * These children will be joined flush together. + * + * @param {PhrasingParents} parent + * Parent of flow nodes. + * @param {State} state + * Info passed around about the current state. + * @param {Info} info + * Info on where we are in the document we are generating. + * @returns {string} + * Serialized children, joined together. + */ +export function containerPhrasing(parent, state, info) { + const indexStack = state.indexStack + const children = parent.children || [] + /** @type {Array} */ + const results = [] + let index = -1 + let before = info.before + + indexStack.push(-1) + let tracker = state.createTracker(info) + + while (++index < children.length) { + const child = children[index] + /** @type {string} */ + let after + + indexStack[indexStack.length - 1] = index + + if (index + 1 < children.length) { + /** @type {Handle} */ + // @ts-expect-error: hush, it’s actually a `zwitch`. + let handle = state.handle.handlers[children[index + 1].type] + /** @type {Handle} */ + // @ts-expect-error: hush, it’s actually a `zwitch`. + if (handle && handle.peek) handle = handle.peek + after = handle + ? handle(children[index + 1], parent, state, { + before: '', + after: '', + ...tracker.current() + }).charAt(0) + : '' + } else { + after = info.after + } + + // In some cases, html (text) can be found in phrasing right after an eol. + // When we’d serialize that, in most cases that would be seen as html + // (flow). + // As we can’t escape or so to prevent it from happening, we take a somewhat + // reasonable approach: replace that eol with a space. + // See: + if ( + results.length > 0 && + (before === '\r' || before === '\n') && + child.type === 'html' + ) { + results[results.length - 1] = results[results.length - 1].replace( + /(\r?\n|\r)$/, + ' ' + ) + before = ' ' + + // To do: does this work to reset tracker? + tracker = state.createTracker(info) + tracker.move(results.join('')) + } + + results.push( + tracker.move( + state.handle(child, parent, state, { + ...tracker.current(), + before, + after + }) + ) + ) + + before = results[results.length - 1].slice(-1) + } + + indexStack.pop() + + return results.join('') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-code-as-indented.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-code-as-indented.js new file mode 100644 index 0000000000..bec120b08d --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-code-as-indented.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('mdast').Code} Code + * @typedef {import('../types.js').State} State + */ + +/** + * @param {Code} node + * @param {State} state + * @returns {boolean} + */ +export function formatCodeAsIndented(node, state) { + return Boolean( + state.options.fences === false && + node.value && + // If there’s no info… + !node.lang && + // And there’s a non-whitespace character… + /[^ \r\n]/.test(node.value) && + // And the value doesn’t start or end in a blank… + !/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(node.value) + ) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-heading-as-setext.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-heading-as-setext.js new file mode 100644 index 0000000000..142fe41b38 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-heading-as-setext.js @@ -0,0 +1,34 @@ +/** + * @typedef {import('mdast').Heading} Heading + * @typedef {import('../types.js').State} State + */ + +import {EXIT, visit} from 'unist-util-visit' +import {toString} from 'mdast-util-to-string' + +/** + * @param {Heading} node + * @param {State} state + * @returns {boolean} + */ +export function formatHeadingAsSetext(node, state) { + let literalWithBreak = false + + // Look for literals with a line break. + // Note that this also + visit(node, function (node) { + if ( + ('value' in node && /\r?\n|\r/.test(node.value)) || + node.type === 'break' + ) { + literalWithBreak = true + return EXIT + } + }) + + return Boolean( + (!node.depth || node.depth < 3) && + toString(node) && + (state.options.setext || literalWithBreak) + ) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-link-as-autolink.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-link-as-autolink.js new file mode 100644 index 0000000000..fd94e44c57 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/format-link-as-autolink.js @@ -0,0 +1,34 @@ +/** + * @typedef {import('mdast').Link} Link + * @typedef {import('../types.js').State} State + */ + +import {toString} from 'mdast-util-to-string' + +/** + * @param {Link} node + * @param {State} state + * @returns {boolean} + */ +export function formatLinkAsAutolink(node, state) { + const raw = toString(node) + + return Boolean( + !state.options.resourceLink && + // If there’s a url… + node.url && + // And there’s a no title… + !node.title && + // And the content of `node` is a single text node… + node.children && + node.children.length === 1 && + node.children[0].type === 'text' && + // And if the url is the same as the content… + (raw === node.url || 'mailto:' + raw === node.url) && + // And that starts w/ a protocol… + /^[a-z][a-z+.-]+:/i.test(node.url) && + // And that doesn’t contain ASCII control codes (character escapes and + // references don’t work), space, or angle brackets… + !/[\0- <>\u007F]/.test(node.url) + ) +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/indent-lines.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/indent-lines.js new file mode 100644 index 0000000000..3c1c653594 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/indent-lines.js @@ -0,0 +1,35 @@ +/** + * @typedef {import('../types.js').IndentLines} IndentLines + */ + +const eol = /\r?\n|\r/g + +/** + * @type {IndentLines} + */ +export function indentLines(value, map) { + /** @type {Array} */ + const result = [] + let start = 0 + let line = 0 + /** @type {RegExpExecArray | null} */ + let match + + while ((match = eol.exec(value))) { + one(value.slice(start, match.index)) + result.push(match[0]) + start = match.index + match[0].length + line++ + } + + one(value.slice(start)) + + return result.join('') + + /** + * @param {string} value + */ + function one(value) { + result.push(map(value, line, !value)) + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/pattern-in-scope.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/pattern-in-scope.js new file mode 100644 index 0000000000..69d7c8dbcd --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/pattern-in-scope.js @@ -0,0 +1,42 @@ +/** + * @typedef {import('../types.js').ConstructName} ConstructName + * @typedef {import('../types.js').Unsafe} Unsafe + */ + +/** + * @param {Array} stack + * @param {Unsafe} pattern + * @returns {boolean} + */ +export function patternInScope(stack, pattern) { + return ( + listInScope(stack, pattern.inConstruct, true) && + !listInScope(stack, pattern.notInConstruct, false) + ) +} + +/** + * @param {Array} stack + * @param {Unsafe['inConstruct']} list + * @param {boolean} none + * @returns {boolean} + */ +function listInScope(stack, list, none) { + if (typeof list === 'string') { + list = [list] + } + + if (!list || list.length === 0) { + return none + } + + let index = -1 + + while (++index < list.length) { + if (stack.includes(list[index])) { + return true + } + } + + return false +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/safe.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/safe.js new file mode 100644 index 0000000000..8cd94bf3a1 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/safe.js @@ -0,0 +1,176 @@ +/** + * @typedef {import('../types.js').SafeConfig} SafeConfig + * @typedef {import('../types.js').State} State + */ + +import {patternInScope} from './pattern-in-scope.js' + +/** + * Make a string safe for embedding in markdown constructs. + * + * In markdown, almost all punctuation characters can, in certain cases, + * result in something. + * Whether they do is highly subjective to where they happen and in what + * they happen. + * + * To solve this, `mdast-util-to-markdown` tracks: + * + * * Characters before and after something; + * * What “constructs” we are in. + * + * This information is then used by this function to escape or encode + * special characters. + * + * @param {State} state + * Info passed around about the current state. + * @param {string | null | undefined} input + * Raw value to make safe. + * @param {SafeConfig} config + * Configuration. + * @returns {string} + * Serialized markdown safe for embedding. + */ +export function safe(state, input, config) { + const value = (config.before || '') + (input || '') + (config.after || '') + /** @type {Array} */ + const positions = [] + /** @type {Array} */ + const result = [] + /** @type {Record} */ + const infos = {} + let index = -1 + + while (++index < state.unsafe.length) { + const pattern = state.unsafe[index] + + if (!patternInScope(state.stack, pattern)) { + continue + } + + const expression = state.compilePattern(pattern) + /** @type {RegExpExecArray | null} */ + let match + + while ((match = expression.exec(value))) { + const before = 'before' in pattern || Boolean(pattern.atBreak) + const after = 'after' in pattern + const position = match.index + (before ? match[1].length : 0) + + if (positions.includes(position)) { + if (infos[position].before && !before) { + infos[position].before = false + } + + if (infos[position].after && !after) { + infos[position].after = false + } + } else { + positions.push(position) + infos[position] = {before, after} + } + } + } + + positions.sort(numerical) + + let start = config.before ? config.before.length : 0 + const end = value.length - (config.after ? config.after.length : 0) + index = -1 + + while (++index < positions.length) { + const position = positions[index] + + // Character before or after matched: + if (position < start || position >= end) { + continue + } + + // If this character is supposed to be escaped because it has a condition on + // the next character, and the next character is definitly being escaped, + // then skip this escape. + if ( + (position + 1 < end && + positions[index + 1] === position + 1 && + infos[position].after && + !infos[position + 1].before && + !infos[position + 1].after) || + (positions[index - 1] === position - 1 && + infos[position].before && + !infos[position - 1].before && + !infos[position - 1].after) + ) { + continue + } + + if (start !== position) { + // If we have to use a character reference, an ampersand would be more + // correct, but as backslashes only care about punctuation, either will + // do the trick + result.push(escapeBackslashes(value.slice(start, position), '\\')) + } + + start = position + + if ( + /[!-/:-@[-`{-~]/.test(value.charAt(position)) && + (!config.encode || !config.encode.includes(value.charAt(position))) + ) { + // Character escape. + result.push('\\') + } else { + // Character reference. + result.push( + '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';' + ) + start++ + } + } + + result.push(escapeBackslashes(value.slice(start, end), config.after)) + + return result.join('') +} + +/** + * @param {number} a + * @param {number} b + * @returns {number} + */ +function numerical(a, b) { + return a - b +} + +/** + * @param {string} value + * @param {string} after + * @returns {string} + */ +function escapeBackslashes(value, after) { + const expression = /\\(?=[!-/:-@[-`{-~])/g + /** @type {Array} */ + const positions = [] + /** @type {Array} */ + const results = [] + const whole = value + after + let index = -1 + let start = 0 + /** @type {RegExpExecArray | null} */ + let match + + while ((match = expression.exec(whole))) { + positions.push(match.index) + } + + while (++index < positions.length) { + if (start !== positions[index]) { + results.push(value.slice(start, positions[index])) + } + + results.push('\\') + start = positions[index] + } + + results.push(value.slice(start)) + + return results.join('') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/track.js b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/track.js new file mode 100644 index 0000000000..b88ef39b53 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/lib/util/track.js @@ -0,0 +1,58 @@ +/** + * @typedef {import('../types.js').CreateTracker} CreateTracker + * @typedef {import('../types.js').TrackCurrent} TrackCurrent + * @typedef {import('../types.js').TrackMove} TrackMove + * @typedef {import('../types.js').TrackShift} TrackShift + */ + +/** + * Track positional info in the output. + * + * @type {CreateTracker} + */ +export function track(config) { + // Defaults are used to prevent crashes when older utilities somehow activate + // this code. + /* c8 ignore next 5 */ + const options = config || {} + const now = options.now || {} + let lineShift = options.lineShift || 0 + let line = now.line || 1 + let column = now.column || 1 + + return {move, current, shift} + + /** + * Get the current tracked info. + * + * @type {TrackCurrent} + */ + function current() { + return {now: {line, column}, lineShift} + } + + /** + * Define an increased line shift (the typical indent for lines). + * + * @type {TrackShift} + */ + function shift(value) { + lineShift += value + } + + /** + * Move past some generated markdown. + * + * @type {TrackMove} + */ + function move(input) { + // eslint-disable-next-line unicorn/prefer-default-parameters + const value = input || '' + const chunks = value.split(/\r?\n|\r/g) + const tail = chunks[chunks.length - 1] + line += chunks.length - 1 + column = + chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift + return value + } +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/mdast-util-to-string b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/mdast-util-to-string new file mode 120000 index 0000000000..440bf069e6 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/mdast-util-to-string @@ -0,0 +1 @@ +../../mdast-util-to-string@4.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/micromark-util-decode-string b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/micromark-util-decode-string new file mode 120000 index 0000000000..c45edbd6a1 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/micromark-util-decode-string @@ -0,0 +1 @@ +../../micromark-util-decode-string@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/unist-util-visit b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/unist-util-visit new file mode 120000 index 0000000000..ed059d4f29 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/node_modules/unist-util-visit @@ -0,0 +1 @@ +../../unist-util-visit@5.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/package.json b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/package.json new file mode 100644 index 0000000000..8393230aea --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-markdown@2.1.0/package.json @@ -0,0 +1,109 @@ +{ + "name": "mdast-util-to-markdown", + "version": "2.1.0", + "description": "mdast utility to serialize markdown", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "markup", + "serialize", + "stringify", + "compile", + "syntax", + "tree", + "ast" + ], + "repository": "syntax-tree/mdast-util-to-markdown", + "bugs": "https://github.com/syntax-tree/mdast-util-to-markdown/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "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-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "mdast-util-from-markdown": "^2.0.0", + "prettier": "^3.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "unist-util-remove-position": "^5.0.0", + "xo": "^0.55.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --log-level warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "ignoreFiles": [ + "lib/types.d.ts" + ], + "ignoreCatch": true, + "strict": true + }, + "xo": { + "overrides": [ + { + "files": [ + "**/*.ts" + ], + "rules": { + "@typescript-eslint/consistent-type-definitions": "off" + } + } + ], + "prettier": true, + "rules": { + "complexity": "off", + "unicorn/prefer-at": "off", + "unicorn/prefer-code-point": "off" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/index.js b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/index.js new file mode 100644 index 0000000000..8674f30982 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/index.js @@ -0,0 +1,5 @@ +/** + * @typedef {import('./lib/index.js').Options} Options + */ + +export {toString} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/lib/index.js b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/lib/index.js new file mode 100644 index 0000000000..7e792e2442 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/lib/index.js @@ -0,0 +1,108 @@ +/** + * @typedef {import('mdast').Root|import('mdast').Content} Node + * + * @typedef Options + * Configuration (optional). + * @property {boolean | null | undefined} [includeImageAlt=true] + * Whether to use `alt` for `image`s. + * @property {boolean | null | undefined} [includeHtml=true] + * Whether to use `value` of HTML. + */ + +/** @type {Options} */ +const emptyOptions = {} + +/** + * Get the text content of a node or list of nodes. + * + * Prefers the node’s plain-text fields, otherwise serializes its children, + * and if the given value is an array, serialize the nodes in it. + * + * @param {unknown} value + * Thing to serialize, typically `Node`. + * @param {Options | null | undefined} [options] + * Configuration (optional). + * @returns {string} + * Serialized `value`. + */ +export function toString(value, options) { + const settings = options || emptyOptions + const includeImageAlt = + typeof settings.includeImageAlt === 'boolean' + ? settings.includeImageAlt + : true + const includeHtml = + typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true + + return one(value, includeImageAlt, includeHtml) +} + +/** + * One node or several nodes. + * + * @param {unknown} value + * Thing to serialize. + * @param {boolean} includeImageAlt + * Include image `alt`s. + * @param {boolean} includeHtml + * Include HTML. + * @returns {string} + * Serialized node. + */ +function one(value, includeImageAlt, includeHtml) { + if (node(value)) { + if ('value' in value) { + return value.type === 'html' && !includeHtml ? '' : value.value + } + + if (includeImageAlt && 'alt' in value && value.alt) { + return value.alt + } + + if ('children' in value) { + return all(value.children, includeImageAlt, includeHtml) + } + } + + if (Array.isArray(value)) { + return all(value, includeImageAlt, includeHtml) + } + + return '' +} + +/** + * Serialize a list of nodes. + * + * @param {Array} values + * Thing to serialize. + * @param {boolean} includeImageAlt + * Include image `alt`s. + * @param {boolean} includeHtml + * Include HTML. + * @returns {string} + * Serialized nodes. + */ +function all(values, includeImageAlt, includeHtml) { + /** @type {Array} */ + const result = [] + let index = -1 + + while (++index < values.length) { + result[index] = one(values[index], includeImageAlt, includeHtml) + } + + return result.join('') +} + +/** + * Check if `value` looks like a node. + * + * @param {unknown} value + * Thing. + * @returns {value is Node} + * Whether `value` is a node. + */ +function node(value) { + return Boolean(value && typeof value === 'object') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/package.json b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/package.json new file mode 100644 index 0000000000..1785c17669 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@3.2.0/package.json @@ -0,0 +1,79 @@ +{ + "name": "mdast-util-to-string", + "version": "3.2.0", + "description": "mdast utility to get the plain text content of a node", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "node", + "string", + "serialize" + ], + "repository": "syntax-tree/mdast-util-to-string", + "bugs": "https://github.com/syntax-tree/mdast-util-to-string/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tape": "^5.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/index.js b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/index.js new file mode 100644 index 0000000000..8674f30982 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/index.js @@ -0,0 +1,5 @@ +/** + * @typedef {import('./lib/index.js').Options} Options + */ + +export {toString} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/lib/index.js b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/lib/index.js new file mode 100644 index 0000000000..30a4ca664a --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/lib/index.js @@ -0,0 +1,108 @@ +/** + * @typedef {import('mdast').Nodes} Nodes + * + * @typedef Options + * Configuration (optional). + * @property {boolean | null | undefined} [includeImageAlt=true] + * Whether to use `alt` for `image`s (default: `true`). + * @property {boolean | null | undefined} [includeHtml=true] + * Whether to use `value` of HTML (default: `true`). + */ + +/** @type {Options} */ +const emptyOptions = {} + +/** + * Get the text content of a node or list of nodes. + * + * Prefers the node’s plain-text fields, otherwise serializes its children, + * and if the given value is an array, serialize the nodes in it. + * + * @param {unknown} [value] + * Thing to serialize, typically `Node`. + * @param {Options | null | undefined} [options] + * Configuration (optional). + * @returns {string} + * Serialized `value`. + */ +export function toString(value, options) { + const settings = options || emptyOptions + const includeImageAlt = + typeof settings.includeImageAlt === 'boolean' + ? settings.includeImageAlt + : true + const includeHtml = + typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true + + return one(value, includeImageAlt, includeHtml) +} + +/** + * One node or several nodes. + * + * @param {unknown} value + * Thing to serialize. + * @param {boolean} includeImageAlt + * Include image `alt`s. + * @param {boolean} includeHtml + * Include HTML. + * @returns {string} + * Serialized node. + */ +function one(value, includeImageAlt, includeHtml) { + if (node(value)) { + if ('value' in value) { + return value.type === 'html' && !includeHtml ? '' : value.value + } + + if (includeImageAlt && 'alt' in value && value.alt) { + return value.alt + } + + if ('children' in value) { + return all(value.children, includeImageAlt, includeHtml) + } + } + + if (Array.isArray(value)) { + return all(value, includeImageAlt, includeHtml) + } + + return '' +} + +/** + * Serialize a list of nodes. + * + * @param {Array} values + * Thing to serialize. + * @param {boolean} includeImageAlt + * Include image `alt`s. + * @param {boolean} includeHtml + * Include HTML. + * @returns {string} + * Serialized nodes. + */ +function all(values, includeImageAlt, includeHtml) { + /** @type {Array} */ + const result = [] + let index = -1 + + while (++index < values.length) { + result[index] = one(values[index], includeImageAlt, includeHtml) + } + + return result.join('') +} + +/** + * Check if `value` looks like a node. + * + * @param {unknown} value + * Thing. + * @returns {value is Nodes} + * Whether `value` is a node. + */ +function node(value) { + return Boolean(value && typeof value === 'object') +} diff --git a/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/package.json b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/package.json new file mode 100644 index 0000000000..66bb6dc824 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdast-util-to-string@4.0.0/package.json @@ -0,0 +1,78 @@ +{ + "name": "mdast-util-to-string", + "version": "4.0.0", + "description": "mdast utility to get the plain text content of a node", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "node", + "string", + "serialize" + ], + "repository": "syntax-tree/mdast-util-to-string", + "bugs": "https://github.com/syntax-tree/mdast-util-to-string/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "ignoreCatch": true, + "strict": true + }, + "xo": { + "prettier": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/index.js new file mode 100644 index 0000000000..f9143e0937 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/index.js @@ -0,0 +1,22 @@ +export {attention} from './lib/attention.js' +export {autolink} from './lib/autolink.js' +export {blankLine} from './lib/blank-line.js' +export {blockQuote} from './lib/block-quote.js' +export {characterEscape} from './lib/character-escape.js' +export {characterReference} from './lib/character-reference.js' +export {codeFenced} from './lib/code-fenced.js' +export {codeIndented} from './lib/code-indented.js' +export {codeText} from './lib/code-text.js' +export {content} from './lib/content.js' +export {definition} from './lib/definition.js' +export {hardBreakEscape} from './lib/hard-break-escape.js' +export {headingAtx} from './lib/heading-atx.js' +export {htmlFlow} from './lib/html-flow.js' +export {htmlText} from './lib/html-text.js' +export {labelEnd} from './lib/label-end.js' +export {labelStartImage} from './lib/label-start-image.js' +export {labelStartLink} from './lib/label-start-link.js' +export {lineEnding} from './lib/line-ending.js' +export {list} from './lib/list.js' +export {setextUnderline} from './lib/setext-underline.js' +export {thematicBreak} from './lib/thematic-break.js' diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/attention.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/attention.js new file mode 100644 index 0000000000..90fa970658 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/attention.js @@ -0,0 +1,262 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {push, splice} from 'micromark-util-chunked' +import {classifyCharacter} from 'micromark-util-classify-character' +import {resolveAll} from 'micromark-util-resolve-all' +/** @type {Construct} */ +export const attention = { + name: 'attention', + tokenize: tokenizeAttention, + resolveAll: resolveAllAttention +} + +/** + * Take all events and resolve attention to emphasis or strong. + * + * @type {Resolver} + */ +function resolveAllAttention(events, context) { + let index = -1 + /** @type {number} */ + let open + /** @type {Token} */ + let group + /** @type {Token} */ + let text + /** @type {Token} */ + let openingSequence + /** @type {Token} */ + let closingSequence + /** @type {number} */ + let use + /** @type {Array} */ + let nextEvents + /** @type {number} */ + let offset + + // Walk through all events. + // + // Note: performance of this is fine on an mb of normal markdown, but it’s + // a bottleneck for malicious stuff. + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'attentionSequence' && + events[index][1]._close + ) { + open = index + + // Now walk back to find an opener. + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'attentionSequence' && + events[open][1]._open && + // If the markers are the same: + context.sliceSerialize(events[open][1]).charCodeAt(0) === + context.sliceSerialize(events[index][1]).charCodeAt(0) + ) { + // If the opening can close or the closing can open, + // and the close size *is not* a multiple of three, + // but the sum of the opening and closing size *is* multiple of three, + // then don’t match. + if ( + (events[open][1]._close || events[index][1]._open) && + (events[index][1].end.offset - events[index][1].start.offset) % 3 && + !( + (events[open][1].end.offset - + events[open][1].start.offset + + events[index][1].end.offset - + events[index][1].start.offset) % + 3 + ) + ) { + continue + } + + // Number of markers to use from the sequence. + use = + events[open][1].end.offset - events[open][1].start.offset > 1 && + events[index][1].end.offset - events[index][1].start.offset > 1 + ? 2 + : 1 + const start = Object.assign({}, events[open][1].end) + const end = Object.assign({}, events[index][1].start) + movePoint(start, -use) + movePoint(end, use) + openingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start, + end: Object.assign({}, events[open][1].end) + } + closingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start: Object.assign({}, events[index][1].start), + end + } + text = { + type: use > 1 ? 'strongText' : 'emphasisText', + start: Object.assign({}, events[open][1].end), + end: Object.assign({}, events[index][1].start) + } + group = { + type: use > 1 ? 'strong' : 'emphasis', + start: Object.assign({}, openingSequence.start), + end: Object.assign({}, closingSequence.end) + } + events[open][1].end = Object.assign({}, openingSequence.start) + events[index][1].start = Object.assign({}, closingSequence.end) + nextEvents = [] + + // If there are more markers in the opening, add them before. + if (events[open][1].end.offset - events[open][1].start.offset) { + nextEvents = push(nextEvents, [ + ['enter', events[open][1], context], + ['exit', events[open][1], context] + ]) + } + + // Opening. + nextEvents = push(nextEvents, [ + ['enter', group, context], + ['enter', openingSequence, context], + ['exit', openingSequence, context], + ['enter', text, context] + ]) + + // Always populated by defaults. + + // Between. + nextEvents = push( + nextEvents, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + 1, index), + context + ) + ) + + // Closing. + nextEvents = push(nextEvents, [ + ['exit', text, context], + ['enter', closingSequence, context], + ['exit', closingSequence, context], + ['exit', group, context] + ]) + + // If there are more markers in the closing, add them after. + if (events[index][1].end.offset - events[index][1].start.offset) { + offset = 2 + nextEvents = push(nextEvents, [ + ['enter', events[index][1], context], + ['exit', events[index][1], context] + ]) + } else { + offset = 0 + } + splice(events, open - 1, index - open + 3, nextEvents) + index = open + nextEvents.length - offset - 2 + break + } + } + } + } + + // Remove remaining sequences. + index = -1 + while (++index < events.length) { + if (events[index][1].type === 'attentionSequence') { + events[index][1].type = 'data' + } + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeAttention(effects, ok) { + const attentionMarkers = this.parser.constructs.attentionMarkers.null + const previous = this.previous + const before = classifyCharacter(previous) + + /** @type {NonNullable} */ + let marker + return start + + /** + * Before a sequence. + * + * ```markdown + * > | ** + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + marker = code + effects.enter('attentionSequence') + return inside(code) + } + + /** + * In a sequence. + * + * ```markdown + * > | ** + * ^^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === marker) { + effects.consume(code) + return inside + } + const token = effects.exit('attentionSequence') + + // To do: next major: move this to resolver, just like `markdown-rs`. + const after = classifyCharacter(code) + + // Always populated by defaults. + + const open = + !after || (after === 2 && before) || attentionMarkers.includes(code) + const close = + !before || (before === 2 && after) || attentionMarkers.includes(previous) + token._open = Boolean(marker === 42 ? open : open && (before || !close)) + token._close = Boolean(marker === 42 ? close : close && (after || !open)) + return ok(code) + } +} + +/** + * Move a point a bit. + * + * Note: `move` only works inside lines! It’s not possible to move past other + * chunks (replacement characters, tabs, or line endings). + * + * @param {Point} point + * @param {number} offset + * @returns {void} + */ +function movePoint(point, offset) { + point.column += offset + point.offset += offset + point._bufferIndex += offset +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/autolink.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/autolink.js new file mode 100644 index 0000000000..5025b958b5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/autolink.js @@ -0,0 +1,235 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import { + asciiAlpha, + asciiAlphanumeric, + asciiAtext, + asciiControl +} from 'micromark-util-character' +/** @type {Construct} */ +export const autolink = { + name: 'autolink', + tokenize: tokenizeAutolink +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeAutolink(effects, ok, nok) { + let size = 0 + return start + + /** + * Start of an autolink. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('autolink') + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.enter('autolinkProtocol') + return open + } + + /** + * After `<`, at protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return schemeOrEmailAtext + } + return emailAtext(code) + } + + /** + * At second byte of protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function schemeOrEmailAtext(code) { + // ASCII alphanumeric and `+`, `-`, and `.`. + if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) { + // Count the previous alphabetical from `open` too. + size = 1 + return schemeInsideOrEmailAtext(code) + } + return emailAtext(code) + } + + /** + * In ambiguous protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function schemeInsideOrEmailAtext(code) { + if (code === 58) { + effects.consume(code) + size = 0 + return urlInside + } + + // ASCII alphanumeric and `+`, `-`, and `.`. + if ( + (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && + size++ < 32 + ) { + effects.consume(code) + return schemeInsideOrEmailAtext + } + size = 0 + return emailAtext(code) + } + + /** + * After protocol, in URL. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function urlInside(code) { + if (code === 62) { + effects.exit('autolinkProtocol') + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.exit('autolink') + return ok + } + + // ASCII control, space, or `<`. + if (code === null || code === 32 || code === 60 || asciiControl(code)) { + return nok(code) + } + effects.consume(code) + return urlInside + } + + /** + * In email atext. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailAtext(code) { + if (code === 64) { + effects.consume(code) + return emailAtSignOrDot + } + if (asciiAtext(code)) { + effects.consume(code) + return emailAtext + } + return nok(code) + } + + /** + * In label, after at-sign or dot. + * + * ```markdown + * > | ab + * ^ ^ + * ``` + * + * @type {State} + */ + function emailAtSignOrDot(code) { + return asciiAlphanumeric(code) ? emailLabel(code) : nok(code) + } + + /** + * In label, where `.` and `>` are allowed. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailLabel(code) { + if (code === 46) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + if (code === 62) { + // Exit, then change the token type. + effects.exit('autolinkProtocol').type = 'autolinkEmail' + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.exit('autolink') + return ok + } + return emailValue(code) + } + + /** + * In label, where `.` and `>` are *not* allowed. + * + * Though, this is also used in `emailLabel` to parse other values. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailValue(code) { + // ASCII alphanumeric or `-`. + if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) { + const next = code === 45 ? emailValue : emailLabel + effects.consume(code) + return next + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/blank-line.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/blank-line.js new file mode 100644 index 0000000000..b138a1ec64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/blank-line.js @@ -0,0 +1,60 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const blankLine = { + tokenize: tokenizeBlankLine, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlankLine(effects, ok, nok) { + return start + + /** + * Start of blank line. + * + * > 👉 **Note**: `␠` represents a space character. + * + * ```markdown + * > | ␠␠␊ + * ^ + * > | ␊ + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + return markdownSpace(code) + ? factorySpace(effects, after, 'linePrefix')(code) + : after(code) + } + + /** + * At eof/eol, after optional whitespace. + * + * > 👉 **Note**: `␠` represents a space character. + * + * ```markdown + * > | ␠␠␊ + * ^ + * > | ␊ + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/block-quote.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/block-quote.js new file mode 100644 index 0000000000..cee39fcbce --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/block-quote.js @@ -0,0 +1,146 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Exiter} Exiter + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const blockQuote = { + name: 'blockQuote', + tokenize: tokenizeBlockQuoteStart, + continuation: { + tokenize: tokenizeBlockQuoteContinuation + }, + exit +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlockQuoteStart(effects, ok, nok) { + const self = this + return start + + /** + * Start of block quote. + * + * ```markdown + * > | > a + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 62) { + const state = self.containerState + if (!state.open) { + effects.enter('blockQuote', { + _container: true + }) + state.open = true + } + effects.enter('blockQuotePrefix') + effects.enter('blockQuoteMarker') + effects.consume(code) + effects.exit('blockQuoteMarker') + return after + } + return nok(code) + } + + /** + * After `>`, before optional whitespace. + * + * ```markdown + * > | > a + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + if (markdownSpace(code)) { + effects.enter('blockQuotePrefixWhitespace') + effects.consume(code) + effects.exit('blockQuotePrefixWhitespace') + effects.exit('blockQuotePrefix') + return ok + } + effects.exit('blockQuotePrefix') + return ok(code) + } +} + +/** + * Start of block quote continuation. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlockQuoteContinuation(effects, ok, nok) { + const self = this + return contStart + + /** + * Start of block quote continuation. + * + * Also used to parse the first block quote opening. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @type {State} + */ + function contStart(code) { + if (markdownSpace(code)) { + // Always populated by defaults. + + return factorySpace( + effects, + contBefore, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } + return contBefore(code) + } + + /** + * At `>`, after optional whitespace. + * + * Also used to parse the first block quote opening. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @type {State} + */ + function contBefore(code) { + return effects.attempt(blockQuote, ok, nok)(code) + } +} + +/** @type {Exiter} */ +function exit(effects) { + effects.exit('blockQuote') +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-escape.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-escape.js new file mode 100644 index 0000000000..c64db35ff6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-escape.js @@ -0,0 +1,61 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {asciiPunctuation} from 'micromark-util-character' +/** @type {Construct} */ +export const characterEscape = { + name: 'characterEscape', + tokenize: tokenizeCharacterEscape +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCharacterEscape(effects, ok, nok) { + return start + + /** + * Start of character escape. + * + * ```markdown + * > | a\*b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('characterEscape') + effects.enter('escapeMarker') + effects.consume(code) + effects.exit('escapeMarker') + return inside + } + + /** + * After `\`, at punctuation. + * + * ```markdown + * > | a\*b + * ^ + * ``` + * + * @type {State} + */ + function inside(code) { + // ASCII punctuation. + if (asciiPunctuation(code)) { + effects.enter('characterEscapeValue') + effects.consume(code) + effects.exit('characterEscapeValue') + effects.exit('characterEscape') + return ok + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-reference.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-reference.js new file mode 100644 index 0000000000..2d3474533c --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/character-reference.js @@ -0,0 +1,153 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {decodeNamedCharacterReference} from 'decode-named-character-reference' +import { + asciiAlphanumeric, + asciiDigit, + asciiHexDigit +} from 'micromark-util-character' +/** @type {Construct} */ +export const characterReference = { + name: 'characterReference', + tokenize: tokenizeCharacterReference +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCharacterReference(effects, ok, nok) { + const self = this + let size = 0 + /** @type {number} */ + let max + /** @type {(code: Code) => boolean} */ + let test + return start + + /** + * Start of character reference. + * + * ```markdown + * > | a&b + * ^ + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('characterReference') + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + return open + } + + /** + * After `&`, at `#` for numeric references or alphanumeric for named + * references. + * + * ```markdown + * > | a&b + * ^ + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 35) { + effects.enter('characterReferenceMarkerNumeric') + effects.consume(code) + effects.exit('characterReferenceMarkerNumeric') + return numeric + } + effects.enter('characterReferenceValue') + max = 31 + test = asciiAlphanumeric + return value(code) + } + + /** + * After `#`, at `x` for hexadecimals or digit for decimals. + * + * ```markdown + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function numeric(code) { + if (code === 88 || code === 120) { + effects.enter('characterReferenceMarkerHexadecimal') + effects.consume(code) + effects.exit('characterReferenceMarkerHexadecimal') + effects.enter('characterReferenceValue') + max = 6 + test = asciiHexDigit + return value + } + effects.enter('characterReferenceValue') + max = 7 + test = asciiDigit + return value(code) + } + + /** + * After markers (`&#x`, `&#`, or `&`), in value, before `;`. + * + * The character reference kind defines what and how many characters are + * allowed. + * + * ```markdown + * > | a&b + * ^^^ + * > | a{b + * ^^^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function value(code) { + if (code === 59 && size) { + const token = effects.exit('characterReferenceValue') + if ( + test === asciiAlphanumeric && + !decodeNamedCharacterReference(self.sliceSerialize(token)) + ) { + return nok(code) + } + + // To do: `markdown-rs` uses a different name: + // `CharacterReferenceMarkerSemi`. + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + effects.exit('characterReference') + return ok + } + if (test(code) && size++ < max) { + effects.consume(code) + return value + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-fenced.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-fenced.js new file mode 100644 index 0000000000..1b20ac8f56 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-fenced.js @@ -0,0 +1,480 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +const nonLazyContinuation = { + tokenize: tokenizeNonLazyContinuation, + partial: true +} + +/** @type {Construct} */ +export const codeFenced = { + name: 'codeFenced', + tokenize: tokenizeCodeFenced, + concrete: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeFenced(effects, ok, nok) { + const self = this + /** @type {Construct} */ + const closeStart = { + tokenize: tokenizeCloseStart, + partial: true + } + let initialPrefix = 0 + let sizeOpen = 0 + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of code. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse whitespace like `markdown-rs`. + return beforeSequenceOpen(code) + } + + /** + * In opening fence, after prefix, at sequence. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function beforeSequenceOpen(code) { + const tail = self.events[self.events.length - 1] + initialPrefix = + tail && tail[1].type === 'linePrefix' + ? tail[2].sliceSerialize(tail[1], true).length + : 0 + marker = code + effects.enter('codeFenced') + effects.enter('codeFencedFence') + effects.enter('codeFencedFenceSequence') + return sequenceOpen(code) + } + + /** + * In opening fence sequence. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === marker) { + sizeOpen++ + effects.consume(code) + return sequenceOpen + } + if (sizeOpen < 3) { + return nok(code) + } + effects.exit('codeFencedFenceSequence') + return markdownSpace(code) + ? factorySpace(effects, infoBefore, 'whitespace')(code) + : infoBefore(code) + } + + /** + * In opening fence, after the sequence (and optional whitespace), before info. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function infoBefore(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFencedFence') + return self.interrupt + ? ok(code) + : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) + } + effects.enter('codeFencedFenceInfo') + effects.enter('chunkString', { + contentType: 'string' + }) + return info(code) + } + + /** + * In info. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function info(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceInfo') + return infoBefore(code) + } + if (markdownSpace(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceInfo') + return factorySpace(effects, metaBefore, 'whitespace')(code) + } + if (code === 96 && code === marker) { + return nok(code) + } + effects.consume(code) + return info + } + + /** + * In opening fence, after info and whitespace, before meta. + * + * ```markdown + * > | ~~~js eval + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function metaBefore(code) { + if (code === null || markdownLineEnding(code)) { + return infoBefore(code) + } + effects.enter('codeFencedFenceMeta') + effects.enter('chunkString', { + contentType: 'string' + }) + return meta(code) + } + + /** + * In meta. + * + * ```markdown + * > | ~~~js eval + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function meta(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceMeta') + return infoBefore(code) + } + if (code === 96 && code === marker) { + return nok(code) + } + effects.consume(code) + return meta + } + + /** + * At eol/eof in code, before a non-lazy closing fence or content. + * + * ```markdown + * > | ~~~js + * ^ + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function atNonLazyBreak(code) { + return effects.attempt(closeStart, after, contentBefore)(code) + } + + /** + * Before code content, not a closing fence, at eol. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentBefore(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return contentStart + } + + /** + * Before code content, not a closing fence. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentStart(code) { + return initialPrefix > 0 && markdownSpace(code) + ? factorySpace( + effects, + beforeContentChunk, + 'linePrefix', + initialPrefix + 1 + )(code) + : beforeContentChunk(code) + } + + /** + * Before code content, after optional prefix. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function beforeContentChunk(code) { + if (code === null || markdownLineEnding(code)) { + return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) + } + effects.enter('codeFlowValue') + return contentChunk(code) + } + + /** + * In code content. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^^^^^^^^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentChunk(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return beforeContentChunk(code) + } + effects.consume(code) + return contentChunk + } + + /** + * After code. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + effects.exit('codeFenced') + return ok(code) + } + + /** + * @this {TokenizeContext} + * @type {Tokenizer} + */ + function tokenizeCloseStart(effects, ok, nok) { + let size = 0 + return startBefore + + /** + * + * + * @type {State} + */ + function startBefore(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return start + } + + /** + * Before closing fence, at optional whitespace. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // Always populated by defaults. + + // To do: `enter` here or in next state? + effects.enter('codeFencedFence') + return markdownSpace(code) + ? factorySpace( + effects, + beforeSequenceClose, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : beforeSequenceClose(code) + } + + /** + * In closing fence, after optional whitespace, at sequence. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function beforeSequenceClose(code) { + if (code === marker) { + effects.enter('codeFencedFenceSequence') + return sequenceClose(code) + } + return nok(code) + } + + /** + * In closing fence sequence. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function sequenceClose(code) { + if (code === marker) { + size++ + effects.consume(code) + return sequenceClose + } + if (size >= sizeOpen) { + effects.exit('codeFencedFenceSequence') + return markdownSpace(code) + ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code) + : sequenceCloseAfter(code) + } + return nok(code) + } + + /** + * After closing fence sequence, after optional whitespace. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function sequenceCloseAfter(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFencedFence') + return ok(code) + } + return nok(code) + } + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeNonLazyContinuation(effects, ok, nok) { + const self = this + return start + + /** + * + * + * @type {State} + */ + function start(code) { + if (code === null) { + return nok(code) + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return lineStart + } + + /** + * + * + * @type {State} + */ + function lineStart(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-indented.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-indented.js new file mode 100644 index 0000000000..f0249e7de5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-indented.js @@ -0,0 +1,183 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const codeIndented = { + name: 'codeIndented', + tokenize: tokenizeCodeIndented +} + +/** @type {Construct} */ +const furtherStart = { + tokenize: tokenizeFurtherStart, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeIndented(effects, ok, nok) { + const self = this + return start + + /** + * Start of code (indented). + * + * > **Parsing note**: it is not needed to check if this first line is a + * > filled line (that it has a non-whitespace character), because blank lines + * > are parsed already, so we never run into that. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: manually check if interrupting like `markdown-rs`. + + effects.enter('codeIndented') + // To do: use an improved `space_or_tab` function like `markdown-rs`, + // so that we can drop the next state. + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) + } + + /** + * At start, after 1 or 4 spaces. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ? atBreak(code) + : nok(code) + } + + /** + * At a break. + * + * ```markdown + * > | aaa + * ^ ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === null) { + return after(code) + } + if (markdownLineEnding(code)) { + return effects.attempt(furtherStart, atBreak, after)(code) + } + effects.enter('codeFlowValue') + return inside(code) + } + + /** + * In code content. + * + * ```markdown + * > | aaa + * ^^^^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return atBreak(code) + } + effects.consume(code) + return inside + } + + /** @type {State} */ + function after(code) { + effects.exit('codeIndented') + // To do: allow interrupting like `markdown-rs`. + // Feel free to interrupt. + // tokenizer.interrupt = false + return ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeFurtherStart(effects, ok, nok) { + const self = this + return furtherStart + + /** + * At eol, trying to parse another indent. + * + * ```markdown + * > | aaa + * ^ + * | bbb + * ``` + * + * @type {State} + */ + function furtherStart(code) { + // To do: improve `lazy` / `pierce` handling. + // If this is a lazy line, it can’t be code. + if (self.parser.lazy[self.now().line]) { + return nok(code) + } + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return furtherStart + } + + // To do: the code here in `micromark-js` is a bit different from + // `markdown-rs` because there it can attempt spaces. + // We can’t yet. + // + // To do: use an improved `space_or_tab` function like `markdown-rs`, + // so that we can drop the next state. + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) + } + + /** + * At start, after 1 or 4 spaces. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ? ok(code) + : markdownLineEnding(code) + ? furtherStart(code) + : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-text.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-text.js new file mode 100644 index 0000000000..dfcf0fa957 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/code-text.js @@ -0,0 +1,237 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Previous} Previous + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const codeText = { + name: 'codeText', + tokenize: tokenizeCodeText, + resolve: resolveCodeText, + previous +} + +// To do: next major: don’t resolve, like `markdown-rs`. +/** @type {Resolver} */ +function resolveCodeText(events) { + let tailExitIndex = events.length - 4 + let headEnterIndex = 3 + /** @type {number} */ + let index + /** @type {number | undefined} */ + let enter + + // If we start and end with an EOL or a space. + if ( + (events[headEnterIndex][1].type === 'lineEnding' || + events[headEnterIndex][1].type === 'space') && + (events[tailExitIndex][1].type === 'lineEnding' || + events[tailExitIndex][1].type === 'space') + ) { + index = headEnterIndex + + // And we have data. + while (++index < tailExitIndex) { + if (events[index][1].type === 'codeTextData') { + // Then we have padding. + events[headEnterIndex][1].type = 'codeTextPadding' + events[tailExitIndex][1].type = 'codeTextPadding' + headEnterIndex += 2 + tailExitIndex -= 2 + break + } + } + } + + // Merge adjacent spaces and data. + index = headEnterIndex - 1 + tailExitIndex++ + while (++index <= tailExitIndex) { + if (enter === undefined) { + if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') { + enter = index + } + } else if ( + index === tailExitIndex || + events[index][1].type === 'lineEnding' + ) { + events[enter][1].type = 'codeTextData' + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + tailExitIndex -= index - enter - 2 + index = enter + 2 + } + enter = undefined + } + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Previous} + */ +function previous(code) { + // If there is a previous code, there will always be a tail. + return ( + code !== 96 || + this.events[this.events.length - 1][1].type === 'characterEscape' + ) +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeText(effects, ok, nok) { + const self = this + let sizeOpen = 0 + /** @type {number} */ + let size + /** @type {Token} */ + let token + return start + + /** + * Start of code (text). + * + * ```markdown + * > | `a` + * ^ + * > | \`a` + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('codeText') + effects.enter('codeTextSequence') + return sequenceOpen(code) + } + + /** + * In opening sequence. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === 96) { + effects.consume(code) + sizeOpen++ + return sequenceOpen + } + effects.exit('codeTextSequence') + return between(code) + } + + /** + * Between something and something else. + * + * ```markdown + * > | `a` + * ^^ + * ``` + * + * @type {State} + */ + function between(code) { + // EOF. + if (code === null) { + return nok(code) + } + + // To do: next major: don’t do spaces in resolve, but when compiling, + // like `markdown-rs`. + // Tabs don’t work, and virtual spaces don’t make sense. + if (code === 32) { + effects.enter('space') + effects.consume(code) + effects.exit('space') + return between + } + + // Closing fence? Could also be data. + if (code === 96) { + token = effects.enter('codeTextSequence') + size = 0 + return sequenceClose(code) + } + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return between + } + + // Data. + effects.enter('codeTextData') + return data(code) + } + + /** + * In data. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function data(code) { + if ( + code === null || + code === 32 || + code === 96 || + markdownLineEnding(code) + ) { + effects.exit('codeTextData') + return between(code) + } + effects.consume(code) + return data + } + + /** + * In closing sequence. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function sequenceClose(code) { + // More. + if (code === 96) { + effects.consume(code) + size++ + return sequenceClose + } + + // Done! + if (size === sizeOpen) { + effects.exit('codeTextSequence') + effects.exit('codeText') + return ok(code) + } + + // More or less accents: mark as data. + token.type = 'codeTextData' + return data(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/content.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/content.js new file mode 100644 index 0000000000..77ffb2c5f2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/content.js @@ -0,0 +1,168 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +import {subtokenize} from 'micromark-util-subtokenize' +/** + * No name because it must not be turned off. + * @type {Construct} + */ +export const content = { + tokenize: tokenizeContent, + resolve: resolveContent +} + +/** @type {Construct} */ +const continuationConstruct = { + tokenize: tokenizeContinuation, + partial: true +} + +/** + * Content is transparent: it’s parsed right now. That way, definitions are also + * parsed right now: before text in paragraphs (specifically, media) are parsed. + * + * @type {Resolver} + */ +function resolveContent(events) { + subtokenize(events) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContent(effects, ok) { + /** @type {Token | undefined} */ + let previous + return chunkStart + + /** + * Before a content chunk. + * + * ```markdown + * > | abc + * ^ + * ``` + * + * @type {State} + */ + function chunkStart(code) { + effects.enter('content') + previous = effects.enter('chunkContent', { + contentType: 'content' + }) + return chunkInside(code) + } + + /** + * In a content chunk. + * + * ```markdown + * > | abc + * ^^^ + * ``` + * + * @type {State} + */ + function chunkInside(code) { + if (code === null) { + return contentEnd(code) + } + + // To do: in `markdown-rs`, each line is parsed on its own, and everything + // is stitched together resolving. + if (markdownLineEnding(code)) { + return effects.check( + continuationConstruct, + contentContinue, + contentEnd + )(code) + } + + // Data. + effects.consume(code) + return chunkInside + } + + /** + * + * + * @type {State} + */ + function contentEnd(code) { + effects.exit('chunkContent') + effects.exit('content') + return ok(code) + } + + /** + * + * + * @type {State} + */ + function contentContinue(code) { + effects.consume(code) + effects.exit('chunkContent') + previous.next = effects.enter('chunkContent', { + contentType: 'content', + previous + }) + previous = previous.next + return chunkInside + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContinuation(effects, ok, nok) { + const self = this + return startLookahead + + /** + * + * + * @type {State} + */ + function startLookahead(code) { + effects.exit('chunkContent') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, prefixed, 'linePrefix') + } + + /** + * + * + * @type {State} + */ + function prefixed(code) { + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + + // Always populated by defaults. + + const tail = self.events[self.events.length - 1] + if ( + !self.parser.constructs.disable.null.includes('codeIndented') && + tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ) { + return ok(code) + } + return effects.interrupt(self.parser.constructs.flow, nok, ok)(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/definition.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/definition.js new file mode 100644 index 0000000000..96bc2004a2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/definition.js @@ -0,0 +1,286 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factoryDestination} from 'micromark-factory-destination' +import {factoryLabel} from 'micromark-factory-label' +import {factorySpace} from 'micromark-factory-space' +import {factoryTitle} from 'micromark-factory-title' +import {factoryWhitespace} from 'micromark-factory-whitespace' +import { + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +/** @type {Construct} */ +export const definition = { + name: 'definition', + tokenize: tokenizeDefinition +} + +/** @type {Construct} */ +const titleBefore = { + tokenize: tokenizeTitleBefore, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeDefinition(effects, ok, nok) { + const self = this + /** @type {string} */ + let identifier + return start + + /** + * At start of a definition. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // Do not interrupt paragraphs (but do follow definitions). + // To do: do `interrupt` the way `markdown-rs` does. + // To do: parse whitespace the way `markdown-rs` does. + effects.enter('definition') + return before(code) + } + + /** + * After optional whitespace, at `[`. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + // To do: parse whitespace the way `markdown-rs` does. + + return factoryLabel.call( + self, + effects, + labelAfter, + // Note: we don’t need to reset the way `markdown-rs` does. + nok, + 'definitionLabel', + 'definitionLabelMarker', + 'definitionLabelString' + )(code) + } + + /** + * After label. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function labelAfter(code) { + identifier = normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + if (code === 58) { + effects.enter('definitionMarker') + effects.consume(code) + effects.exit('definitionMarker') + return markerAfter + } + return nok(code) + } + + /** + * After marker. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function markerAfter(code) { + // Note: whitespace is optional. + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, destinationBefore)(code) + : destinationBefore(code) + } + + /** + * Before destination. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function destinationBefore(code) { + return factoryDestination( + effects, + destinationAfter, + // Note: we don’t need to reset the way `markdown-rs` does. + nok, + 'definitionDestination', + 'definitionDestinationLiteral', + 'definitionDestinationLiteralMarker', + 'definitionDestinationRaw', + 'definitionDestinationString' + )(code) + } + + /** + * After destination. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function destinationAfter(code) { + return effects.attempt(titleBefore, after, after)(code) + } + + /** + * After definition. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return markdownSpace(code) + ? factorySpace(effects, afterWhitespace, 'whitespace')(code) + : afterWhitespace(code) + } + + /** + * After definition, after optional whitespace. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function afterWhitespace(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('definition') + + // Note: we don’t care about uniqueness. + // It’s likely that that doesn’t happen very frequently. + // It is more likely that it wastes precious time. + self.parser.defined.push(identifier) + + // To do: `markdown-rs` interrupt. + // // You’d be interrupting. + // tokenizer.interrupt = true + return ok(code) + } + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeTitleBefore(effects, ok, nok) { + return titleBefore + + /** + * After destination, at whitespace. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleBefore(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, beforeMarker)(code) + : nok(code) + } + + /** + * At title. + * + * ```markdown + * | [a]: b + * > | "c" + * ^ + * ``` + * + * @type {State} + */ + function beforeMarker(code) { + return factoryTitle( + effects, + titleAfter, + nok, + 'definitionTitle', + 'definitionTitleMarker', + 'definitionTitleString' + )(code) + } + + /** + * After title. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleAfter(code) { + return markdownSpace(code) + ? factorySpace(effects, titleAfterOptionalWhitespace, 'whitespace')(code) + : titleAfterOptionalWhitespace(code) + } + + /** + * After title, after optional whitespace. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleAfterOptionalWhitespace(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/hard-break-escape.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/hard-break-escape.js new file mode 100644 index 0000000000..14df907a6f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/hard-break-escape.js @@ -0,0 +1,57 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const hardBreakEscape = { + name: 'hardBreakEscape', + tokenize: tokenizeHardBreakEscape +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHardBreakEscape(effects, ok, nok) { + return start + + /** + * Start of a hard break (escape). + * + * ```markdown + * > | a\ + * ^ + * | b + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('hardBreakEscape') + effects.consume(code) + return after + } + + /** + * After `\`, at eol. + * + * ```markdown + * > | a\ + * ^ + * | b + * ``` + * + * @type {State} + */ + function after(code) { + if (markdownLineEnding(code)) { + effects.exit('hardBreakEscape') + return ok(code) + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/heading-atx.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/heading-atx.js new file mode 100644 index 0000000000..35d5237930 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/heading-atx.js @@ -0,0 +1,209 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import { + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {splice} from 'micromark-util-chunked' +/** @type {Construct} */ +export const headingAtx = { + name: 'headingAtx', + tokenize: tokenizeHeadingAtx, + resolve: resolveHeadingAtx +} + +/** @type {Resolver} */ +function resolveHeadingAtx(events, context) { + let contentEnd = events.length - 2 + let contentStart = 3 + /** @type {Token} */ + let content + /** @type {Token} */ + let text + + // Prefix whitespace, part of the opening. + if (events[contentStart][1].type === 'whitespace') { + contentStart += 2 + } + + // Suffix whitespace, part of the closing. + if ( + contentEnd - 2 > contentStart && + events[contentEnd][1].type === 'whitespace' + ) { + contentEnd -= 2 + } + if ( + events[contentEnd][1].type === 'atxHeadingSequence' && + (contentStart === contentEnd - 1 || + (contentEnd - 4 > contentStart && + events[contentEnd - 2][1].type === 'whitespace')) + ) { + contentEnd -= contentStart + 1 === contentEnd ? 2 : 4 + } + if (contentEnd > contentStart) { + content = { + type: 'atxHeadingText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end + } + text = { + type: 'chunkText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end, + contentType: 'text' + } + splice(events, contentStart, contentEnd - contentStart + 1, [ + ['enter', content, context], + ['enter', text, context], + ['exit', text, context], + ['exit', content, context] + ]) + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHeadingAtx(effects, ok, nok) { + let size = 0 + return start + + /** + * Start of a heading (atx). + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse indent like `markdown-rs`. + effects.enter('atxHeading') + return before(code) + } + + /** + * After optional whitespace, at `#`. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('atxHeadingSequence') + return sequenceOpen(code) + } + + /** + * In opening sequence. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === 35 && size++ < 6) { + effects.consume(code) + return sequenceOpen + } + + // Always at least one `#`. + if (code === null || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingSequence') + return atBreak(code) + } + return nok(code) + } + + /** + * After something, before something else. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === 35) { + effects.enter('atxHeadingSequence') + return sequenceFurther(code) + } + if (code === null || markdownLineEnding(code)) { + effects.exit('atxHeading') + // To do: interrupt like `markdown-rs`. + // // Feel free to interrupt. + // tokenizer.interrupt = false + return ok(code) + } + if (markdownSpace(code)) { + return factorySpace(effects, atBreak, 'whitespace')(code) + } + + // To do: generate `data` tokens, add the `text` token later. + // Needs edit map, see: `markdown.rs`. + effects.enter('atxHeadingText') + return data(code) + } + + /** + * In further sequence (after whitespace). + * + * Could be normal “visible” hashes in the heading or a final sequence. + * + * ```markdown + * > | ## aa ## + * ^ + * ``` + * + * @type {State} + */ + function sequenceFurther(code) { + if (code === 35) { + effects.consume(code) + return sequenceFurther + } + effects.exit('atxHeadingSequence') + return atBreak(code) + } + + /** + * In text. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function data(code) { + if (code === null || code === 35 || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingText') + return atBreak(code) + } + effects.consume(code) + return data + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-flow.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-flow.js new file mode 100644 index 0000000000..4161a3d956 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-flow.js @@ -0,0 +1,916 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import { + asciiAlpha, + asciiAlphanumeric, + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name' +import {blankLine} from './blank-line.js' + +/** @type {Construct} */ +export const htmlFlow = { + name: 'htmlFlow', + tokenize: tokenizeHtmlFlow, + resolveTo: resolveToHtmlFlow, + concrete: true +} + +/** @type {Construct} */ +const blankLineBefore = { + tokenize: tokenizeBlankLineBefore, + partial: true +} +const nonLazyContinuationStart = { + tokenize: tokenizeNonLazyContinuationStart, + partial: true +} + +/** @type {Resolver} */ +function resolveToHtmlFlow(events) { + let index = events.length + while (index--) { + if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') { + break + } + } + if (index > 1 && events[index - 2][1].type === 'linePrefix') { + // Add the prefix start to the HTML token. + events[index][1].start = events[index - 2][1].start + // Add the prefix start to the HTML line token. + events[index + 1][1].start = events[index - 2][1].start + // Remove the line prefix. + events.splice(index - 2, 2) + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHtmlFlow(effects, ok, nok) { + const self = this + /** @type {number} */ + let marker + /** @type {boolean} */ + let closingTag + /** @type {string} */ + let buffer + /** @type {number} */ + let index + /** @type {Code} */ + let markerB + return start + + /** + * Start of HTML (flow). + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse indent like `markdown-rs`. + return before(code) + } + + /** + * At `<`, after optional whitespace. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('htmlFlow') + effects.enter('htmlFlowData') + effects.consume(code) + return open + } + + /** + * After `<`, at tag name or other stuff. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationOpen + } + if (code === 47) { + effects.consume(code) + closingTag = true + return tagCloseStart + } + if (code === 63) { + effects.consume(code) + marker = 3 + // To do: + // tokenizer.concrete = true + // To do: use `markdown-rs` style interrupt. + // While we’re in an instruction instead of a declaration, we’re on a `?` + // right now, so we do need to search for `>`, similar to declarations. + return self.interrupt ? ok : continuationDeclarationInside + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + // @ts-expect-error: not null. + buffer = String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * After ` | + * ^ + * > | + * ^ + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function declarationOpen(code) { + if (code === 45) { + effects.consume(code) + marker = 2 + return commentOpenInside + } + if (code === 91) { + effects.consume(code) + marker = 5 + index = 0 + return cdataOpenInside + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + marker = 4 + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuationDeclarationInside + } + return nok(code) + } + + /** + * After ` | + * ^ + * ``` + * + * @type {State} + */ + function commentOpenInside(code) { + if (code === 45) { + effects.consume(code) + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuationDeclarationInside + } + return nok(code) + } + + /** + * After ` | &<]]> + * ^^^^^^ + * ``` + * + * @type {State} + */ + function cdataOpenInside(code) { + const value = 'CDATA[' + if (code === value.charCodeAt(index++)) { + effects.consume(code) + if (index === value.length) { + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuation + } + return cdataOpenInside + } + return nok(code) + } + + /** + * After ` | + * ^ + * ``` + * + * @type {State} + */ + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + // @ts-expect-error: not null. + buffer = String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * In tag name. + * + * ```markdown + * > | + * ^^ + * > | + * ^^ + * ``` + * + * @type {State} + */ + function tagName(code) { + if ( + code === null || + code === 47 || + code === 62 || + markdownLineEndingOrSpace(code) + ) { + const slash = code === 47 + const name = buffer.toLowerCase() + if (!slash && !closingTag && htmlRawNames.includes(name)) { + marker = 1 + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok(code) : continuation(code) + } + if (htmlBlockNames.includes(buffer.toLowerCase())) { + marker = 6 + if (slash) { + effects.consume(code) + return basicSelfClosing + } + + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok(code) : continuation(code) + } + marker = 7 + // Do not support complete HTML when interrupting. + return self.interrupt && !self.parser.lazy[self.now().line] + ? nok(code) + : closingTag + ? completeClosingTagAfter(code) + : completeAttributeNameBefore(code) + } + + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + buffer += String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * After closing slash of a basic tag name. + * + * ```markdown + * > |
    + * ^ + * ``` + * + * @type {State} + */ + function basicSelfClosing(code) { + if (code === 62) { + effects.consume(code) + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuation + } + return nok(code) + } + + /** + * After closing slash of a complete tag name. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeClosingTagAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeClosingTagAfter + } + return completeEnd(code) + } + + /** + * At an attribute name. + * + * At first, this state is used after a complete tag name, after whitespace, + * where it expects optional attributes or the end of the tag. + * It is also reused after attributes, when expecting more optional + * attributes. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeNameBefore(code) { + if (code === 47) { + effects.consume(code) + return completeEnd + } + + // ASCII alphanumerical and `:` and `_`. + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return completeAttributeName + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameBefore + } + return completeEnd(code) + } + + /** + * In attribute name. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeName(code) { + // ASCII alphanumerical and `-`, `.`, `:`, and `_`. + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return completeAttributeName + } + return completeAttributeNameAfter(code) + } + + /** + * After attribute name, at an optional initializer, the end of the tag, or + * whitespace. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return completeAttributeValueBefore + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameAfter + } + return completeAttributeNameBefore(code) + } + + /** + * Before unquoted, double quoted, or single quoted attribute value, allowing + * whitespace. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + if (code === 34 || code === 39) { + effects.consume(code) + markerB = code + return completeAttributeValueQuoted + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeValueBefore + } + return completeAttributeValueUnquoted(code) + } + + /** + * In double or single quoted attribute value. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueQuoted(code) { + if (code === markerB) { + effects.consume(code) + markerB = null + return completeAttributeValueQuotedAfter + } + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + effects.consume(code) + return completeAttributeValueQuoted + } + + /** + * In unquoted attribute value. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 47 || + code === 60 || + code === 61 || + code === 62 || + code === 96 || + markdownLineEndingOrSpace(code) + ) { + return completeAttributeNameAfter(code) + } + effects.consume(code) + return completeAttributeValueUnquoted + } + + /** + * After double or single quoted attribute value, before whitespace or the + * end of the tag. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownSpace(code)) { + return completeAttributeNameBefore(code) + } + return nok(code) + } + + /** + * In certain circumstances of a complete tag where only an `>` is allowed. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeEnd(code) { + if (code === 62) { + effects.consume(code) + return completeAfter + } + return nok(code) + } + + /** + * After `>` in a complete tag. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAfter(code) { + if (code === null || markdownLineEnding(code)) { + // // Do not form containers. + // tokenizer.concrete = true + return continuation(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAfter + } + return nok(code) + } + + /** + * In continuation of any HTML kind. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuation(code) { + if (code === 45 && marker === 2) { + effects.consume(code) + return continuationCommentInside + } + if (code === 60 && marker === 1) { + effects.consume(code) + return continuationRawTagOpen + } + if (code === 62 && marker === 4) { + effects.consume(code) + return continuationClose + } + if (code === 63 && marker === 3) { + effects.consume(code) + return continuationDeclarationInside + } + if (code === 93 && marker === 5) { + effects.consume(code) + return continuationCdataInside + } + if (markdownLineEnding(code) && (marker === 6 || marker === 7)) { + effects.exit('htmlFlowData') + return effects.check( + blankLineBefore, + continuationAfter, + continuationStart + )(code) + } + if (code === null || markdownLineEnding(code)) { + effects.exit('htmlFlowData') + return continuationStart(code) + } + effects.consume(code) + return continuation + } + + /** + * In continuation, at eol. + * + * ```markdown + * > | + * ^ + * | asd + * ``` + * + * @type {State} + */ + function continuationStart(code) { + return effects.check( + nonLazyContinuationStart, + continuationStartNonLazy, + continuationAfter + )(code) + } + + /** + * In continuation, at eol, before non-lazy content. + * + * ```markdown + * > | + * ^ + * | asd + * ``` + * + * @type {State} + */ + function continuationStartNonLazy(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return continuationBefore + } + + /** + * In continuation, before non-lazy content. + * + * ```markdown + * | + * > | asd + * ^ + * ``` + * + * @type {State} + */ + function continuationBefore(code) { + if (code === null || markdownLineEnding(code)) { + return continuationStart(code) + } + effects.enter('htmlFlowData') + return continuation(code) + } + + /** + * In comment continuation, after one `-`, expecting another. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationCommentInside(code) { + if (code === 45) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In raw continuation, after `<`, at `/`. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationRawTagOpen(code) { + if (code === 47) { + effects.consume(code) + buffer = '' + return continuationRawEndTag + } + return continuation(code) + } + + /** + * In raw continuation, after ` | + * ^^^^^^ + * ``` + * + * @type {State} + */ + function continuationRawEndTag(code) { + if (code === 62) { + const name = buffer.toLowerCase() + if (htmlRawNames.includes(name)) { + effects.consume(code) + return continuationClose + } + return continuation(code) + } + if (asciiAlpha(code) && buffer.length < 8) { + effects.consume(code) + // @ts-expect-error: not null. + buffer += String.fromCharCode(code) + return continuationRawEndTag + } + return continuation(code) + } + + /** + * In cdata continuation, after `]`, expecting `]>`. + * + * ```markdown + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function continuationCdataInside(code) { + if (code === 93) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In declaration or instruction continuation, at `>`. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function continuationDeclarationInside(code) { + if (code === 62) { + effects.consume(code) + return continuationClose + } + + // More dashes. + if (code === 45 && marker === 2) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In closed continuation: everything we get until the eol/eof is part of it. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationClose(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('htmlFlowData') + return continuationAfter(code) + } + effects.consume(code) + return continuationClose + } + + /** + * Done. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationAfter(code) { + effects.exit('htmlFlow') + // // Feel free to interrupt. + // tokenizer.interrupt = false + // // No longer concrete. + // tokenizer.concrete = false + return ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeNonLazyContinuationStart(effects, ok, nok) { + const self = this + return start + + /** + * At eol, before continuation. + * + * ```markdown + * > | * ```js + * ^ + * | b + * ``` + * + * @type {State} + */ + function start(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return after + } + return nok(code) + } + + /** + * A continuation. + * + * ```markdown + * | * ```js + * > | b + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlankLineBefore(effects, ok, nok) { + return start + + /** + * Before eol, expecting blank line. + * + * ```markdown + * > |
    + * ^ + * | + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return effects.attempt(blankLine, ok, nok) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-text.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-text.js new file mode 100644 index 0000000000..feee902c75 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/html-text.js @@ -0,0 +1,713 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import { + asciiAlpha, + asciiAlphanumeric, + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +/** @type {Construct} */ +export const htmlText = { + name: 'htmlText', + tokenize: tokenizeHtmlText +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHtmlText(effects, ok, nok) { + const self = this + /** @type {NonNullable | undefined} */ + let marker + /** @type {number} */ + let index + /** @type {State} */ + let returnState + return start + + /** + * Start of HTML (text). + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('htmlText') + effects.enter('htmlTextData') + effects.consume(code) + return open + } + + /** + * After `<`, at tag name or other stuff. + * + * ```markdown + * > | a c + * ^ + * > | a c + * ^ + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationOpen + } + if (code === 47) { + effects.consume(code) + return tagCloseStart + } + if (code === 63) { + effects.consume(code) + return instruction + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + return tagOpen + } + return nok(code) + } + + /** + * After ` | a c + * ^ + * > | a c + * ^ + * > | a &<]]> c + * ^ + * ``` + * + * @type {State} + */ + function declarationOpen(code) { + if (code === 45) { + effects.consume(code) + return commentOpenInside + } + if (code === 91) { + effects.consume(code) + index = 0 + return cdataOpenInside + } + if (asciiAlpha(code)) { + effects.consume(code) + return declaration + } + return nok(code) + } + + /** + * In a comment, after ` | a c + * ^ + * ``` + * + * @type {State} + */ + function commentOpenInside(code) { + if (code === 45) { + effects.consume(code) + return commentEnd + } + return nok(code) + } + + /** + * In comment. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function comment(code) { + if (code === null) { + return nok(code) + } + if (code === 45) { + effects.consume(code) + return commentClose + } + if (markdownLineEnding(code)) { + returnState = comment + return lineEndingBefore(code) + } + effects.consume(code) + return comment + } + + /** + * In comment, after `-`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function commentClose(code) { + if (code === 45) { + effects.consume(code) + return commentEnd + } + return comment(code) + } + + /** + * In comment, after `--`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function commentEnd(code) { + return code === 62 + ? end(code) + : code === 45 + ? commentClose(code) + : comment(code) + } + + /** + * After ` | a &<]]> b + * ^^^^^^ + * ``` + * + * @type {State} + */ + function cdataOpenInside(code) { + const value = 'CDATA[' + if (code === value.charCodeAt(index++)) { + effects.consume(code) + return index === value.length ? cdata : cdataOpenInside + } + return nok(code) + } + + /** + * In CDATA. + * + * ```markdown + * > | a &<]]> b + * ^^^ + * ``` + * + * @type {State} + */ + function cdata(code) { + if (code === null) { + return nok(code) + } + if (code === 93) { + effects.consume(code) + return cdataClose + } + if (markdownLineEnding(code)) { + returnState = cdata + return lineEndingBefore(code) + } + effects.consume(code) + return cdata + } + + /** + * In CDATA, after `]`, at another `]`. + * + * ```markdown + * > | a &<]]> b + * ^ + * ``` + * + * @type {State} + */ + function cdataClose(code) { + if (code === 93) { + effects.consume(code) + return cdataEnd + } + return cdata(code) + } + + /** + * In CDATA, after `]]`, at `>`. + * + * ```markdown + * > | a &<]]> b + * ^ + * ``` + * + * @type {State} + */ + function cdataEnd(code) { + if (code === 62) { + return end(code) + } + if (code === 93) { + effects.consume(code) + return cdataEnd + } + return cdata(code) + } + + /** + * In declaration. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function declaration(code) { + if (code === null || code === 62) { + return end(code) + } + if (markdownLineEnding(code)) { + returnState = declaration + return lineEndingBefore(code) + } + effects.consume(code) + return declaration + } + + /** + * In instruction. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function instruction(code) { + if (code === null) { + return nok(code) + } + if (code === 63) { + effects.consume(code) + return instructionClose + } + if (markdownLineEnding(code)) { + returnState = instruction + return lineEndingBefore(code) + } + effects.consume(code) + return instruction + } + + /** + * In instruction, after `?`, at `>`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function instructionClose(code) { + return code === 62 ? end(code) : instruction(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagCloseStart(code) { + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + return tagClose + } + return nok(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagClose(code) { + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagClose + } + return tagCloseBetween(code) + } + + /** + * In closing tag, after tag name. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function tagCloseBetween(code) { + if (markdownLineEnding(code)) { + returnState = tagCloseBetween + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagCloseBetween + } + return end(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagOpen(code) { + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagOpen + } + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + return nok(code) + } + + /** + * In opening tag, after tag name. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function tagOpenBetween(code) { + if (code === 47) { + effects.consume(code) + return end + } + + // ASCII alphabetical and `:` and `_`. + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return tagOpenAttributeName + } + if (markdownLineEnding(code)) { + returnState = tagOpenBetween + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenBetween + } + return end(code) + } + + /** + * In attribute name. + * + * ```markdown + * > | a d + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeName(code) { + // ASCII alphabetical and `-`, `.`, `:`, and `_`. + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return tagOpenAttributeName + } + return tagOpenAttributeNameAfter(code) + } + + /** + * After attribute name, before initializer, the end of the tag, or + * whitespace. + * + * ```markdown + * > | a d + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeNameAfter + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeNameAfter + } + return tagOpenBetween(code) + } + + /** + * Before unquoted, double quoted, or single quoted attribute value, allowing + * whitespace. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + if (code === 34 || code === 39) { + effects.consume(code) + marker = code + return tagOpenAttributeValueQuoted + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueBefore + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + /** + * In double or single quoted attribute value. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + marker = undefined + return tagOpenAttributeValueQuotedAfter + } + if (code === null) { + return nok(code) + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueQuoted + return lineEndingBefore(code) + } + effects.consume(code) + return tagOpenAttributeValueQuoted + } + + /** + * In unquoted attribute value. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 60 || + code === 61 || + code === 96 + ) { + return nok(code) + } + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + /** + * After double or single quoted attribute value, before whitespace or the end + * of the tag. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + return nok(code) + } + + /** + * In certain circumstances of a tag where only an `>` is allowed. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function end(code) { + if (code === 62) { + effects.consume(code) + effects.exit('htmlTextData') + effects.exit('htmlText') + return ok + } + return nok(code) + } + + /** + * At eol. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * > | a + * ``` + * + * @type {State} + */ + function lineEndingBefore(code) { + effects.exit('htmlTextData') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return lineEndingAfter + } + + /** + * After eol, at optional whitespace. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * | a + * ^ + * ``` + * + * @type {State} + */ + function lineEndingAfter(code) { + // Always populated by defaults. + + return markdownSpace(code) + ? factorySpace( + effects, + lineEndingAfterPrefix, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : lineEndingAfterPrefix(code) + } + + /** + * After eol, after optional whitespace. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * | a + * ^ + * ``` + * + * @type {State} + */ + function lineEndingAfterPrefix(code) { + effects.enter('htmlTextData') + return returnState(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-end.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-end.js new file mode 100644 index 0000000000..b4a06def59 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-end.js @@ -0,0 +1,617 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factoryDestination} from 'micromark-factory-destination' +import {factoryLabel} from 'micromark-factory-label' +import {factoryTitle} from 'micromark-factory-title' +import {factoryWhitespace} from 'micromark-factory-whitespace' +import {markdownLineEndingOrSpace} from 'micromark-util-character' +import {push, splice} from 'micromark-util-chunked' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +import {resolveAll} from 'micromark-util-resolve-all' +/** @type {Construct} */ +export const labelEnd = { + name: 'labelEnd', + tokenize: tokenizeLabelEnd, + resolveTo: resolveToLabelEnd, + resolveAll: resolveAllLabelEnd +} + +/** @type {Construct} */ +const resourceConstruct = { + tokenize: tokenizeResource +} +/** @type {Construct} */ +const referenceFullConstruct = { + tokenize: tokenizeReferenceFull +} +/** @type {Construct} */ +const referenceCollapsedConstruct = { + tokenize: tokenizeReferenceCollapsed +} + +/** @type {Resolver} */ +function resolveAllLabelEnd(events) { + let index = -1 + while (++index < events.length) { + const token = events[index][1] + if ( + token.type === 'labelImage' || + token.type === 'labelLink' || + token.type === 'labelEnd' + ) { + // Remove the marker. + events.splice(index + 1, token.type === 'labelImage' ? 4 : 2) + token.type = 'data' + index++ + } + } + return events +} + +/** @type {Resolver} */ +function resolveToLabelEnd(events, context) { + let index = events.length + let offset = 0 + /** @type {Token} */ + let token + /** @type {number | undefined} */ + let open + /** @type {number | undefined} */ + let close + /** @type {Array} */ + let media + + // Find an opening. + while (index--) { + token = events[index][1] + if (open) { + // If we see another link, or inactive link label, we’ve been here before. + if ( + token.type === 'link' || + (token.type === 'labelLink' && token._inactive) + ) { + break + } + + // Mark other link openings as inactive, as we can’t have links in + // links. + if (events[index][0] === 'enter' && token.type === 'labelLink') { + token._inactive = true + } + } else if (close) { + if ( + events[index][0] === 'enter' && + (token.type === 'labelImage' || token.type === 'labelLink') && + !token._balanced + ) { + open = index + if (token.type !== 'labelLink') { + offset = 2 + break + } + } + } else if (token.type === 'labelEnd') { + close = index + } + } + const group = { + type: events[open][1].type === 'labelLink' ? 'link' : 'image', + start: Object.assign({}, events[open][1].start), + end: Object.assign({}, events[events.length - 1][1].end) + } + const label = { + type: 'label', + start: Object.assign({}, events[open][1].start), + end: Object.assign({}, events[close][1].end) + } + const text = { + type: 'labelText', + start: Object.assign({}, events[open + offset + 2][1].end), + end: Object.assign({}, events[close - 2][1].start) + } + media = [ + ['enter', group, context], + ['enter', label, context] + ] + + // Opening marker. + media = push(media, events.slice(open + 1, open + offset + 3)) + + // Text open. + media = push(media, [['enter', text, context]]) + + // Always populated by defaults. + + // Between. + media = push( + media, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + offset + 4, close - 3), + context + ) + ) + + // Text close, marker close, label close. + media = push(media, [ + ['exit', text, context], + events[close - 2], + events[close - 1], + ['exit', label, context] + ]) + + // Reference, resource, or so. + media = push(media, events.slice(close + 1)) + + // Media close. + media = push(media, [['exit', group, context]]) + splice(events, open, events.length, media) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelEnd(effects, ok, nok) { + const self = this + let index = self.events.length + /** @type {Token} */ + let labelStart + /** @type {boolean} */ + let defined + + // Find an opening. + while (index--) { + if ( + (self.events[index][1].type === 'labelImage' || + self.events[index][1].type === 'labelLink') && + !self.events[index][1]._balanced + ) { + labelStart = self.events[index][1] + break + } + } + return start + + /** + * Start of label end. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ``` + * + * @type {State} + */ + function start(code) { + // If there is not an okay opening. + if (!labelStart) { + return nok(code) + } + + // If the corresponding label (link) start is marked as inactive, + // it means we’d be wrapping a link, like this: + // + // ```markdown + // > | a [b [c](d) e](f) g. + // ^ + // ``` + // + // We can’t have that, so it’s just balanced brackets. + if (labelStart._inactive) { + return labelEndNok(code) + } + defined = self.parser.defined.includes( + normalizeIdentifier( + self.sliceSerialize({ + start: labelStart.end, + end: self.now() + }) + ) + ) + effects.enter('labelEnd') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelEnd') + return after + } + + /** + * After `]`. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + // Note: `markdown-rs` also parses GFM footnotes here, which for us is in + // an extension. + + // Resource (`[asd](fgh)`)? + if (code === 40) { + return effects.attempt( + resourceConstruct, + labelEndOk, + defined ? labelEndOk : labelEndNok + )(code) + } + + // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference? + if (code === 91) { + return effects.attempt( + referenceFullConstruct, + labelEndOk, + defined ? referenceNotFull : labelEndNok + )(code) + } + + // Shortcut (`[asd]`) reference? + return defined ? labelEndOk(code) : labelEndNok(code) + } + + /** + * After `]`, at `[`, but not at a full reference. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function referenceNotFull(code) { + return effects.attempt( + referenceCollapsedConstruct, + labelEndOk, + labelEndNok + )(code) + } + + /** + * Done, we found something. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function labelEndOk(code) { + // Note: `markdown-rs` does a bunch of stuff here. + return ok(code) + } + + /** + * Done, it’s nothing. + * + * There was an okay opening, but we didn’t match anything. + * + * ```markdown + * > | [a](b c + * ^ + * > | [a][b c + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function labelEndNok(code) { + labelStart._balanced = true + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeResource(effects, ok, nok) { + return resourceStart + + /** + * At a resource. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceStart(code) { + effects.enter('resource') + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + return resourceBefore + } + + /** + * In resource, after `(`, at optional whitespace. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceBefore(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceOpen)(code) + : resourceOpen(code) + } + + /** + * In resource, after optional whitespace, at `)` or a destination. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceOpen(code) { + if (code === 41) { + return resourceEnd(code) + } + return factoryDestination( + effects, + resourceDestinationAfter, + resourceDestinationMissing, + 'resourceDestination', + 'resourceDestinationLiteral', + 'resourceDestinationLiteralMarker', + 'resourceDestinationRaw', + 'resourceDestinationString', + 32 + )(code) + } + + /** + * In resource, after destination, at optional whitespace. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceDestinationAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceBetween)(code) + : resourceEnd(code) + } + + /** + * At invalid destination. + * + * ```markdown + * > | [a](<<) b + * ^ + * ``` + * + * @type {State} + */ + function resourceDestinationMissing(code) { + return nok(code) + } + + /** + * In resource, after destination and whitespace, at `(` or title. + * + * ```markdown + * > | [a](b ) c + * ^ + * ``` + * + * @type {State} + */ + function resourceBetween(code) { + if (code === 34 || code === 39 || code === 40) { + return factoryTitle( + effects, + resourceTitleAfter, + nok, + 'resourceTitle', + 'resourceTitleMarker', + 'resourceTitleString' + )(code) + } + return resourceEnd(code) + } + + /** + * In resource, after title, at optional whitespace. + * + * ```markdown + * > | [a](b "c") d + * ^ + * ``` + * + * @type {State} + */ + function resourceTitleAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceEnd)(code) + : resourceEnd(code) + } + + /** + * In resource, at `)`. + * + * ```markdown + * > | [a](b) d + * ^ + * ``` + * + * @type {State} + */ + function resourceEnd(code) { + if (code === 41) { + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + effects.exit('resource') + return ok + } + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeReferenceFull(effects, ok, nok) { + const self = this + return referenceFull + + /** + * In a reference (full), at the `[`. + * + * ```markdown + * > | [a][b] d + * ^ + * ``` + * + * @type {State} + */ + function referenceFull(code) { + return factoryLabel.call( + self, + effects, + referenceFullAfter, + referenceFullMissing, + 'reference', + 'referenceMarker', + 'referenceString' + )(code) + } + + /** + * In a reference (full), after `]`. + * + * ```markdown + * > | [a][b] d + * ^ + * ``` + * + * @type {State} + */ + function referenceFullAfter(code) { + return self.parser.defined.includes( + normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + ) + ? ok(code) + : nok(code) + } + + /** + * In reference (full) that was missing. + * + * ```markdown + * > | [a][b d + * ^ + * ``` + * + * @type {State} + */ + function referenceFullMissing(code) { + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeReferenceCollapsed(effects, ok, nok) { + return referenceCollapsedStart + + /** + * In reference (collapsed), at `[`. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] d + * ^ + * ``` + * + * @type {State} + */ + function referenceCollapsedStart(code) { + // We only attempt a collapsed label if there’s a `[`. + + effects.enter('reference') + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + return referenceCollapsedOpen + } + + /** + * In reference (collapsed), at `]`. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] d + * ^ + * ``` + * + * @type {State} + */ + function referenceCollapsedOpen(code) { + if (code === 93) { + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + effects.exit('reference') + return ok + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-image.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-image.js new file mode 100644 index 0000000000..6478e72630 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-image.js @@ -0,0 +1,101 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {labelEnd} from './label-end.js' + +/** @type {Construct} */ +export const labelStartImage = { + name: 'labelStartImage', + tokenize: tokenizeLabelStartImage, + resolveAll: labelEnd.resolveAll +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelStartImage(effects, ok, nok) { + const self = this + return start + + /** + * Start of label (image) start. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('labelImage') + effects.enter('labelImageMarker') + effects.consume(code) + effects.exit('labelImageMarker') + return open + } + + /** + * After `!`, at `[`. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 91) { + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelImage') + return after + } + return nok(code) + } + + /** + * After `![`. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * This is needed in because, when GFM footnotes are enabled, images never + * form when started with a `^`. + * Instead, links form: + * + * ```markdown + * ![^a](b) + * + * ![^a][b] + * + * [b]: c + * ``` + * + * ```html + *

    !^a

    + *

    !^a

    + * ``` + * + * @type {State} + */ + function after(code) { + // To do: use a new field to do this, this is still needed for + // `micromark-extension-gfm-footnote`, but the `label-start-link` + // behavior isn’t. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs + ? nok(code) + : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-link.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-link.js new file mode 100644 index 0000000000..8eaba63ecc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/label-start-link.js @@ -0,0 +1,54 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {labelEnd} from './label-end.js' + +/** @type {Construct} */ +export const labelStartLink = { + name: 'labelStartLink', + tokenize: tokenizeLabelStartLink, + resolveAll: labelEnd.resolveAll +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelStartLink(effects, ok, nok) { + const self = this + return start + + /** + * Start of label (link) start. + * + * ```markdown + * > | a [b] c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('labelLink') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelLink') + return after + } + + /** @type {State} */ + function after(code) { + // To do: this isn’t needed in `micromark-extension-gfm-footnote`, + // remove. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs + ? nok(code) + : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/line-ending.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/line-ending.js new file mode 100644 index 0000000000..d087851593 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/line-ending.js @@ -0,0 +1,30 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const lineEnding = { + name: 'lineEnding', + tokenize: tokenizeLineEnding +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLineEnding(effects, ok) { + return start + + /** @type {State} */ + function start(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, ok, 'linePrefix') + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/list.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/list.js new file mode 100644 index 0000000000..fc4c154dd5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/list.js @@ -0,0 +1,268 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ContainerState} ContainerState + * @typedef {import('micromark-util-types').Exiter} Exiter + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {asciiDigit, markdownSpace} from 'micromark-util-character' +import {blankLine} from './blank-line.js' +import {thematicBreak} from './thematic-break.js' + +/** @type {Construct} */ +export const list = { + name: 'list', + tokenize: tokenizeListStart, + continuation: { + tokenize: tokenizeListContinuation + }, + exit: tokenizeListEnd +} + +/** @type {Construct} */ +const listItemPrefixWhitespaceConstruct = { + tokenize: tokenizeListItemPrefixWhitespace, + partial: true +} + +/** @type {Construct} */ +const indentConstruct = { + tokenize: tokenizeIndent, + partial: true +} + +// To do: `markdown-rs` parses list items on their own and later stitches them +// together. + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListStart(effects, ok, nok) { + const self = this + const tail = self.events[self.events.length - 1] + let initialSize = + tail && tail[1].type === 'linePrefix' + ? tail[2].sliceSerialize(tail[1], true).length + : 0 + let size = 0 + return start + + /** @type {State} */ + function start(code) { + const kind = + self.containerState.type || + (code === 42 || code === 43 || code === 45 + ? 'listUnordered' + : 'listOrdered') + if ( + kind === 'listUnordered' + ? !self.containerState.marker || code === self.containerState.marker + : asciiDigit(code) + ) { + if (!self.containerState.type) { + self.containerState.type = kind + effects.enter(kind, { + _container: true + }) + } + if (kind === 'listUnordered') { + effects.enter('listItemPrefix') + return code === 42 || code === 45 + ? effects.check(thematicBreak, nok, atMarker)(code) + : atMarker(code) + } + if (!self.interrupt || code === 49) { + effects.enter('listItemPrefix') + effects.enter('listItemValue') + return inside(code) + } + } + return nok(code) + } + + /** @type {State} */ + function inside(code) { + if (asciiDigit(code) && ++size < 10) { + effects.consume(code) + return inside + } + if ( + (!self.interrupt || size < 2) && + (self.containerState.marker + ? code === self.containerState.marker + : code === 41 || code === 46) + ) { + effects.exit('listItemValue') + return atMarker(code) + } + return nok(code) + } + + /** + * @type {State} + **/ + function atMarker(code) { + effects.enter('listItemMarker') + effects.consume(code) + effects.exit('listItemMarker') + self.containerState.marker = self.containerState.marker || code + return effects.check( + blankLine, + // Can’t be empty when interrupting. + self.interrupt ? nok : onBlank, + effects.attempt( + listItemPrefixWhitespaceConstruct, + endOfPrefix, + otherPrefix + ) + ) + } + + /** @type {State} */ + function onBlank(code) { + self.containerState.initialBlankLine = true + initialSize++ + return endOfPrefix(code) + } + + /** @type {State} */ + function otherPrefix(code) { + if (markdownSpace(code)) { + effects.enter('listItemPrefixWhitespace') + effects.consume(code) + effects.exit('listItemPrefixWhitespace') + return endOfPrefix + } + return nok(code) + } + + /** @type {State} */ + function endOfPrefix(code) { + self.containerState.size = + initialSize + + self.sliceSerialize(effects.exit('listItemPrefix'), true).length + return ok(code) + } +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListContinuation(effects, ok, nok) { + const self = this + self.containerState._closeFlow = undefined + return effects.check(blankLine, onBlank, notBlank) + + /** @type {State} */ + function onBlank(code) { + self.containerState.furtherBlankLines = + self.containerState.furtherBlankLines || + self.containerState.initialBlankLine + + // We have a blank line. + // Still, try to consume at most the items size. + return factorySpace( + effects, + ok, + 'listItemIndent', + self.containerState.size + 1 + )(code) + } + + /** @type {State} */ + function notBlank(code) { + if (self.containerState.furtherBlankLines || !markdownSpace(code)) { + self.containerState.furtherBlankLines = undefined + self.containerState.initialBlankLine = undefined + return notInCurrentItem(code) + } + self.containerState.furtherBlankLines = undefined + self.containerState.initialBlankLine = undefined + return effects.attempt(indentConstruct, ok, notInCurrentItem)(code) + } + + /** @type {State} */ + function notInCurrentItem(code) { + // While we do continue, we signal that the flow should be closed. + self.containerState._closeFlow = true + // As we’re closing flow, we’re no longer interrupting. + self.interrupt = undefined + // Always populated by defaults. + + return factorySpace( + effects, + effects.attempt(list, ok, nok), + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeIndent(effects, ok, nok) { + const self = this + return factorySpace( + effects, + afterPrefix, + 'listItemIndent', + self.containerState.size + 1 + ) + + /** @type {State} */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'listItemIndent' && + tail[2].sliceSerialize(tail[1], true).length === self.containerState.size + ? ok(code) + : nok(code) + } +} + +/** + * @type {Exiter} + * @this {TokenizeContext} + */ +function tokenizeListEnd(effects) { + effects.exit(this.containerState.type) +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListItemPrefixWhitespace(effects, ok, nok) { + const self = this + + // Always populated by defaults. + + return factorySpace( + effects, + afterPrefix, + 'listItemPrefixWhitespace', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + 1 + ) + + /** @type {State} */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return !markdownSpace(code) && + tail && + tail[1].type === 'listItemPrefixWhitespace' + ? ok(code) + : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/setext-underline.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/setext-underline.js new file mode 100644 index 0000000000..41c4cde17e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/setext-underline.js @@ -0,0 +1,182 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const setextUnderline = { + name: 'setextUnderline', + tokenize: tokenizeSetextUnderline, + resolveTo: resolveToSetextUnderline +} + +/** @type {Resolver} */ +function resolveToSetextUnderline(events, context) { + // To do: resolve like `markdown-rs`. + let index = events.length + /** @type {number | undefined} */ + let content + /** @type {number | undefined} */ + let text + /** @type {number | undefined} */ + let definition + + // Find the opening of the content. + // It’ll always exist: we don’t tokenize if it isn’t there. + while (index--) { + if (events[index][0] === 'enter') { + if (events[index][1].type === 'content') { + content = index + break + } + if (events[index][1].type === 'paragraph') { + text = index + } + } + // Exit + else { + if (events[index][1].type === 'content') { + // Remove the content end (if needed we’ll add it later) + events.splice(index, 1) + } + if (!definition && events[index][1].type === 'definition') { + definition = index + } + } + } + const heading = { + type: 'setextHeading', + start: Object.assign({}, events[text][1].start), + end: Object.assign({}, events[events.length - 1][1].end) + } + + // Change the paragraph to setext heading text. + events[text][1].type = 'setextHeadingText' + + // If we have definitions in the content, we’ll keep on having content, + // but we need move it. + if (definition) { + events.splice(text, 0, ['enter', heading, context]) + events.splice(definition + 1, 0, ['exit', events[content][1], context]) + events[content][1].end = Object.assign({}, events[definition][1].end) + } else { + events[content][1] = heading + } + + // Add the heading exit at the end. + events.push(['exit', heading, context]) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeSetextUnderline(effects, ok, nok) { + const self = this + /** @type {NonNullable} */ + let marker + return start + + /** + * At start of heading (setext) underline. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + let index = self.events.length + /** @type {boolean | undefined} */ + let paragraph + // Find an opening. + while (index--) { + // Skip enter/exit of line ending, line prefix, and content. + // We can now either have a definition or a paragraph. + if ( + self.events[index][1].type !== 'lineEnding' && + self.events[index][1].type !== 'linePrefix' && + self.events[index][1].type !== 'content' + ) { + paragraph = self.events[index][1].type === 'paragraph' + break + } + } + + // To do: handle lazy/pierce like `markdown-rs`. + // To do: parse indent like `markdown-rs`. + if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) { + effects.enter('setextHeadingLine') + marker = code + return before(code) + } + return nok(code) + } + + /** + * After optional whitespace, at `-` or `=`. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('setextHeadingLineSequence') + return inside(code) + } + + /** + * In sequence. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === marker) { + effects.consume(code) + return inside + } + effects.exit('setextHeadingLineSequence') + return markdownSpace(code) + ? factorySpace(effects, after, 'lineSuffix')(code) + : after(code) + } + + /** + * After sequence, after optional whitespace. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('setextHeadingLine') + return ok(code) + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/thematic-break.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/thematic-break.js new file mode 100644 index 0000000000..92066ecaa6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/lib/thematic-break.js @@ -0,0 +1,101 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const thematicBreak = { + name: 'thematicBreak', + tokenize: tokenizeThematicBreak +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeThematicBreak(effects, ok, nok) { + let size = 0 + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of thematic break. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('thematicBreak') + // To do: parse indent like `markdown-rs`. + return before(code) + } + + /** + * After optional whitespace, at marker. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + marker = code + return atBreak(code) + } + + /** + * After something, before something else. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === marker) { + effects.enter('thematicBreakSequence') + return sequence(code) + } + if (size >= 3 && (code === null || markdownLineEnding(code))) { + effects.exit('thematicBreak') + return ok(code) + } + return nok(code) + } + + /** + * In sequence. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function sequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return sequence + } + effects.exit('thematicBreakSequence') + return markdownSpace(code) + ? factorySpace(effects, atBreak, 'whitespace')(code) + : atBreak(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-destination b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-destination new file mode 120000 index 0000000000..23dbcf17dc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-destination @@ -0,0 +1 @@ +../../micromark-factory-destination@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-label b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-label new file mode 120000 index 0000000000..03437c8a99 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-label @@ -0,0 +1 @@ +../../micromark-factory-label@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..784a9eaf4b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-title b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-title new file mode 120000 index 0000000000..721fdb9e2e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-title @@ -0,0 +1 @@ +../../micromark-factory-title@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-whitespace b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-whitespace new file mode 120000 index 0000000000..a571a53438 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-factory-whitespace @@ -0,0 +1 @@ +../../micromark-factory-whitespace@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..7449f9d875 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-classify-character b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-classify-character new file mode 120000 index 0000000000..6d187a62ba --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-classify-character @@ -0,0 +1 @@ +../../micromark-util-classify-character@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-html-tag-name b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-html-tag-name new file mode 120000 index 0000000000..69f59aa07d --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-html-tag-name @@ -0,0 +1 @@ +../../micromark-util-html-tag-name@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-normalize-identifier b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-normalize-identifier new file mode 120000 index 0000000000..47ae3b0c42 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-normalize-identifier @@ -0,0 +1 @@ +../../micromark-util-normalize-identifier@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-resolve-all b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..f5da13406a --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +../../micromark-util-resolve-all@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-subtokenize b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-subtokenize new file mode 120000 index 0000000000..a2197ea4c2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/node_modules/micromark-util-subtokenize @@ -0,0 +1 @@ +../../micromark-util-subtokenize@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/package.json new file mode 100644 index 0000000000..f65d936727 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@1.1.0/package.json @@ -0,0 +1,70 @@ +{ + "name": "micromark-core-commonmark", + "version": "1.1.0", + "description": "The CommonMark markdown constructs", + "license": "MIT", + "keywords": [ + "micromark", + "core", + "commonmark" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "decode-named-character-reference": "^1.0.0", + "uvu": "^0.5.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/index.js new file mode 100644 index 0000000000..f9143e0937 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/index.js @@ -0,0 +1,22 @@ +export {attention} from './lib/attention.js' +export {autolink} from './lib/autolink.js' +export {blankLine} from './lib/blank-line.js' +export {blockQuote} from './lib/block-quote.js' +export {characterEscape} from './lib/character-escape.js' +export {characterReference} from './lib/character-reference.js' +export {codeFenced} from './lib/code-fenced.js' +export {codeIndented} from './lib/code-indented.js' +export {codeText} from './lib/code-text.js' +export {content} from './lib/content.js' +export {definition} from './lib/definition.js' +export {hardBreakEscape} from './lib/hard-break-escape.js' +export {headingAtx} from './lib/heading-atx.js' +export {htmlFlow} from './lib/html-flow.js' +export {htmlText} from './lib/html-text.js' +export {labelEnd} from './lib/label-end.js' +export {labelStartImage} from './lib/label-start-image.js' +export {labelStartLink} from './lib/label-start-link.js' +export {lineEnding} from './lib/line-ending.js' +export {list} from './lib/list.js' +export {setextUnderline} from './lib/setext-underline.js' +export {thematicBreak} from './lib/thematic-break.js' diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/attention.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/attention.js new file mode 100644 index 0000000000..e9a722cdf3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/attention.js @@ -0,0 +1,263 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {push, splice} from 'micromark-util-chunked' +import {classifyCharacter} from 'micromark-util-classify-character' +import {resolveAll} from 'micromark-util-resolve-all' +/** @type {Construct} */ +export const attention = { + name: 'attention', + tokenize: tokenizeAttention, + resolveAll: resolveAllAttention +} + +/** + * Take all events and resolve attention to emphasis or strong. + * + * @type {Resolver} + */ +// eslint-disable-next-line complexity +function resolveAllAttention(events, context) { + let index = -1 + /** @type {number} */ + let open + /** @type {Token} */ + let group + /** @type {Token} */ + let text + /** @type {Token} */ + let openingSequence + /** @type {Token} */ + let closingSequence + /** @type {number} */ + let use + /** @type {Array} */ + let nextEvents + /** @type {number} */ + let offset + + // Walk through all events. + // + // Note: performance of this is fine on an mb of normal markdown, but it’s + // a bottleneck for malicious stuff. + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'attentionSequence' && + events[index][1]._close + ) { + open = index + + // Now walk back to find an opener. + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'attentionSequence' && + events[open][1]._open && + // If the markers are the same: + context.sliceSerialize(events[open][1]).charCodeAt(0) === + context.sliceSerialize(events[index][1]).charCodeAt(0) + ) { + // If the opening can close or the closing can open, + // and the close size *is not* a multiple of three, + // but the sum of the opening and closing size *is* multiple of three, + // then don’t match. + if ( + (events[open][1]._close || events[index][1]._open) && + (events[index][1].end.offset - events[index][1].start.offset) % 3 && + !( + (events[open][1].end.offset - + events[open][1].start.offset + + events[index][1].end.offset - + events[index][1].start.offset) % + 3 + ) + ) { + continue + } + + // Number of markers to use from the sequence. + use = + events[open][1].end.offset - events[open][1].start.offset > 1 && + events[index][1].end.offset - events[index][1].start.offset > 1 + ? 2 + : 1 + const start = Object.assign({}, events[open][1].end) + const end = Object.assign({}, events[index][1].start) + movePoint(start, -use) + movePoint(end, use) + openingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start, + end: Object.assign({}, events[open][1].end) + } + closingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start: Object.assign({}, events[index][1].start), + end + } + text = { + type: use > 1 ? 'strongText' : 'emphasisText', + start: Object.assign({}, events[open][1].end), + end: Object.assign({}, events[index][1].start) + } + group = { + type: use > 1 ? 'strong' : 'emphasis', + start: Object.assign({}, openingSequence.start), + end: Object.assign({}, closingSequence.end) + } + events[open][1].end = Object.assign({}, openingSequence.start) + events[index][1].start = Object.assign({}, closingSequence.end) + nextEvents = [] + + // If there are more markers in the opening, add them before. + if (events[open][1].end.offset - events[open][1].start.offset) { + nextEvents = push(nextEvents, [ + ['enter', events[open][1], context], + ['exit', events[open][1], context] + ]) + } + + // Opening. + nextEvents = push(nextEvents, [ + ['enter', group, context], + ['enter', openingSequence, context], + ['exit', openingSequence, context], + ['enter', text, context] + ]) + + // Always populated by defaults. + + // Between. + nextEvents = push( + nextEvents, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + 1, index), + context + ) + ) + + // Closing. + nextEvents = push(nextEvents, [ + ['exit', text, context], + ['enter', closingSequence, context], + ['exit', closingSequence, context], + ['exit', group, context] + ]) + + // If there are more markers in the closing, add them after. + if (events[index][1].end.offset - events[index][1].start.offset) { + offset = 2 + nextEvents = push(nextEvents, [ + ['enter', events[index][1], context], + ['exit', events[index][1], context] + ]) + } else { + offset = 0 + } + splice(events, open - 1, index - open + 3, nextEvents) + index = open + nextEvents.length - offset - 2 + break + } + } + } + } + + // Remove remaining sequences. + index = -1 + while (++index < events.length) { + if (events[index][1].type === 'attentionSequence') { + events[index][1].type = 'data' + } + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeAttention(effects, ok) { + const attentionMarkers = this.parser.constructs.attentionMarkers.null + const previous = this.previous + const before = classifyCharacter(previous) + + /** @type {NonNullable} */ + let marker + return start + + /** + * Before a sequence. + * + * ```markdown + * > | ** + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + marker = code + effects.enter('attentionSequence') + return inside(code) + } + + /** + * In a sequence. + * + * ```markdown + * > | ** + * ^^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === marker) { + effects.consume(code) + return inside + } + const token = effects.exit('attentionSequence') + + // To do: next major: move this to resolver, just like `markdown-rs`. + const after = classifyCharacter(code) + + // Always populated by defaults. + + const open = + !after || (after === 2 && before) || attentionMarkers.includes(code) + const close = + !before || (before === 2 && after) || attentionMarkers.includes(previous) + token._open = Boolean(marker === 42 ? open : open && (before || !close)) + token._close = Boolean(marker === 42 ? close : close && (after || !open)) + return ok(code) + } +} + +/** + * Move a point a bit. + * + * Note: `move` only works inside lines! It’s not possible to move past other + * chunks (replacement characters, tabs, or line endings). + * + * @param {Point} point + * @param {number} offset + * @returns {undefined} + */ +function movePoint(point, offset) { + point.column += offset + point.offset += offset + point._bufferIndex += offset +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/autolink.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/autolink.js new file mode 100644 index 0000000000..5025b958b5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/autolink.js @@ -0,0 +1,235 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import { + asciiAlpha, + asciiAlphanumeric, + asciiAtext, + asciiControl +} from 'micromark-util-character' +/** @type {Construct} */ +export const autolink = { + name: 'autolink', + tokenize: tokenizeAutolink +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeAutolink(effects, ok, nok) { + let size = 0 + return start + + /** + * Start of an autolink. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('autolink') + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.enter('autolinkProtocol') + return open + } + + /** + * After `<`, at protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return schemeOrEmailAtext + } + return emailAtext(code) + } + + /** + * At second byte of protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function schemeOrEmailAtext(code) { + // ASCII alphanumeric and `+`, `-`, and `.`. + if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) { + // Count the previous alphabetical from `open` too. + size = 1 + return schemeInsideOrEmailAtext(code) + } + return emailAtext(code) + } + + /** + * In ambiguous protocol or atext. + * + * ```markdown + * > | ab + * ^ + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function schemeInsideOrEmailAtext(code) { + if (code === 58) { + effects.consume(code) + size = 0 + return urlInside + } + + // ASCII alphanumeric and `+`, `-`, and `.`. + if ( + (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && + size++ < 32 + ) { + effects.consume(code) + return schemeInsideOrEmailAtext + } + size = 0 + return emailAtext(code) + } + + /** + * After protocol, in URL. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function urlInside(code) { + if (code === 62) { + effects.exit('autolinkProtocol') + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.exit('autolink') + return ok + } + + // ASCII control, space, or `<`. + if (code === null || code === 32 || code === 60 || asciiControl(code)) { + return nok(code) + } + effects.consume(code) + return urlInside + } + + /** + * In email atext. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailAtext(code) { + if (code === 64) { + effects.consume(code) + return emailAtSignOrDot + } + if (asciiAtext(code)) { + effects.consume(code) + return emailAtext + } + return nok(code) + } + + /** + * In label, after at-sign or dot. + * + * ```markdown + * > | ab + * ^ ^ + * ``` + * + * @type {State} + */ + function emailAtSignOrDot(code) { + return asciiAlphanumeric(code) ? emailLabel(code) : nok(code) + } + + /** + * In label, where `.` and `>` are allowed. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailLabel(code) { + if (code === 46) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + if (code === 62) { + // Exit, then change the token type. + effects.exit('autolinkProtocol').type = 'autolinkEmail' + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.exit('autolink') + return ok + } + return emailValue(code) + } + + /** + * In label, where `.` and `>` are *not* allowed. + * + * Though, this is also used in `emailLabel` to parse other values. + * + * ```markdown + * > | ab + * ^ + * ``` + * + * @type {State} + */ + function emailValue(code) { + // ASCII alphanumeric or `-`. + if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) { + const next = code === 45 ? emailValue : emailLabel + effects.consume(code) + return next + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/blank-line.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/blank-line.js new file mode 100644 index 0000000000..b138a1ec64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/blank-line.js @@ -0,0 +1,60 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const blankLine = { + tokenize: tokenizeBlankLine, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlankLine(effects, ok, nok) { + return start + + /** + * Start of blank line. + * + * > 👉 **Note**: `␠` represents a space character. + * + * ```markdown + * > | ␠␠␊ + * ^ + * > | ␊ + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + return markdownSpace(code) + ? factorySpace(effects, after, 'linePrefix')(code) + : after(code) + } + + /** + * At eof/eol, after optional whitespace. + * + * > 👉 **Note**: `␠` represents a space character. + * + * ```markdown + * > | ␠␠␊ + * ^ + * > | ␊ + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/block-quote.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/block-quote.js new file mode 100644 index 0000000000..cee39fcbce --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/block-quote.js @@ -0,0 +1,146 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Exiter} Exiter + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const blockQuote = { + name: 'blockQuote', + tokenize: tokenizeBlockQuoteStart, + continuation: { + tokenize: tokenizeBlockQuoteContinuation + }, + exit +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlockQuoteStart(effects, ok, nok) { + const self = this + return start + + /** + * Start of block quote. + * + * ```markdown + * > | > a + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 62) { + const state = self.containerState + if (!state.open) { + effects.enter('blockQuote', { + _container: true + }) + state.open = true + } + effects.enter('blockQuotePrefix') + effects.enter('blockQuoteMarker') + effects.consume(code) + effects.exit('blockQuoteMarker') + return after + } + return nok(code) + } + + /** + * After `>`, before optional whitespace. + * + * ```markdown + * > | > a + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + if (markdownSpace(code)) { + effects.enter('blockQuotePrefixWhitespace') + effects.consume(code) + effects.exit('blockQuotePrefixWhitespace') + effects.exit('blockQuotePrefix') + return ok + } + effects.exit('blockQuotePrefix') + return ok(code) + } +} + +/** + * Start of block quote continuation. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlockQuoteContinuation(effects, ok, nok) { + const self = this + return contStart + + /** + * Start of block quote continuation. + * + * Also used to parse the first block quote opening. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @type {State} + */ + function contStart(code) { + if (markdownSpace(code)) { + // Always populated by defaults. + + return factorySpace( + effects, + contBefore, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } + return contBefore(code) + } + + /** + * At `>`, after optional whitespace. + * + * Also used to parse the first block quote opening. + * + * ```markdown + * | > a + * > | > b + * ^ + * ``` + * + * @type {State} + */ + function contBefore(code) { + return effects.attempt(blockQuote, ok, nok)(code) + } +} + +/** @type {Exiter} */ +function exit(effects) { + effects.exit('blockQuote') +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-escape.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-escape.js new file mode 100644 index 0000000000..c64db35ff6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-escape.js @@ -0,0 +1,61 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {asciiPunctuation} from 'micromark-util-character' +/** @type {Construct} */ +export const characterEscape = { + name: 'characterEscape', + tokenize: tokenizeCharacterEscape +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCharacterEscape(effects, ok, nok) { + return start + + /** + * Start of character escape. + * + * ```markdown + * > | a\*b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('characterEscape') + effects.enter('escapeMarker') + effects.consume(code) + effects.exit('escapeMarker') + return inside + } + + /** + * After `\`, at punctuation. + * + * ```markdown + * > | a\*b + * ^ + * ``` + * + * @type {State} + */ + function inside(code) { + // ASCII punctuation. + if (asciiPunctuation(code)) { + effects.enter('characterEscapeValue') + effects.consume(code) + effects.exit('characterEscapeValue') + effects.exit('characterEscape') + return ok + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-reference.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-reference.js new file mode 100644 index 0000000000..2d3474533c --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/character-reference.js @@ -0,0 +1,153 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {decodeNamedCharacterReference} from 'decode-named-character-reference' +import { + asciiAlphanumeric, + asciiDigit, + asciiHexDigit +} from 'micromark-util-character' +/** @type {Construct} */ +export const characterReference = { + name: 'characterReference', + tokenize: tokenizeCharacterReference +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCharacterReference(effects, ok, nok) { + const self = this + let size = 0 + /** @type {number} */ + let max + /** @type {(code: Code) => boolean} */ + let test + return start + + /** + * Start of character reference. + * + * ```markdown + * > | a&b + * ^ + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('characterReference') + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + return open + } + + /** + * After `&`, at `#` for numeric references or alphanumeric for named + * references. + * + * ```markdown + * > | a&b + * ^ + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 35) { + effects.enter('characterReferenceMarkerNumeric') + effects.consume(code) + effects.exit('characterReferenceMarkerNumeric') + return numeric + } + effects.enter('characterReferenceValue') + max = 31 + test = asciiAlphanumeric + return value(code) + } + + /** + * After `#`, at `x` for hexadecimals or digit for decimals. + * + * ```markdown + * > | a{b + * ^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function numeric(code) { + if (code === 88 || code === 120) { + effects.enter('characterReferenceMarkerHexadecimal') + effects.consume(code) + effects.exit('characterReferenceMarkerHexadecimal') + effects.enter('characterReferenceValue') + max = 6 + test = asciiHexDigit + return value + } + effects.enter('characterReferenceValue') + max = 7 + test = asciiDigit + return value(code) + } + + /** + * After markers (`&#x`, `&#`, or `&`), in value, before `;`. + * + * The character reference kind defines what and how many characters are + * allowed. + * + * ```markdown + * > | a&b + * ^^^ + * > | a{b + * ^^^ + * > | a b + * ^ + * ``` + * + * @type {State} + */ + function value(code) { + if (code === 59 && size) { + const token = effects.exit('characterReferenceValue') + if ( + test === asciiAlphanumeric && + !decodeNamedCharacterReference(self.sliceSerialize(token)) + ) { + return nok(code) + } + + // To do: `markdown-rs` uses a different name: + // `CharacterReferenceMarkerSemi`. + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + effects.exit('characterReference') + return ok + } + if (test(code) && size++ < max) { + effects.consume(code) + return value + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-fenced.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-fenced.js new file mode 100644 index 0000000000..1b20ac8f56 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-fenced.js @@ -0,0 +1,480 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +const nonLazyContinuation = { + tokenize: tokenizeNonLazyContinuation, + partial: true +} + +/** @type {Construct} */ +export const codeFenced = { + name: 'codeFenced', + tokenize: tokenizeCodeFenced, + concrete: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeFenced(effects, ok, nok) { + const self = this + /** @type {Construct} */ + const closeStart = { + tokenize: tokenizeCloseStart, + partial: true + } + let initialPrefix = 0 + let sizeOpen = 0 + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of code. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse whitespace like `markdown-rs`. + return beforeSequenceOpen(code) + } + + /** + * In opening fence, after prefix, at sequence. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function beforeSequenceOpen(code) { + const tail = self.events[self.events.length - 1] + initialPrefix = + tail && tail[1].type === 'linePrefix' + ? tail[2].sliceSerialize(tail[1], true).length + : 0 + marker = code + effects.enter('codeFenced') + effects.enter('codeFencedFence') + effects.enter('codeFencedFenceSequence') + return sequenceOpen(code) + } + + /** + * In opening fence sequence. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === marker) { + sizeOpen++ + effects.consume(code) + return sequenceOpen + } + if (sizeOpen < 3) { + return nok(code) + } + effects.exit('codeFencedFenceSequence') + return markdownSpace(code) + ? factorySpace(effects, infoBefore, 'whitespace')(code) + : infoBefore(code) + } + + /** + * In opening fence, after the sequence (and optional whitespace), before info. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function infoBefore(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFencedFence') + return self.interrupt + ? ok(code) + : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) + } + effects.enter('codeFencedFenceInfo') + effects.enter('chunkString', { + contentType: 'string' + }) + return info(code) + } + + /** + * In info. + * + * ```markdown + * > | ~~~js + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function info(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceInfo') + return infoBefore(code) + } + if (markdownSpace(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceInfo') + return factorySpace(effects, metaBefore, 'whitespace')(code) + } + if (code === 96 && code === marker) { + return nok(code) + } + effects.consume(code) + return info + } + + /** + * In opening fence, after info and whitespace, before meta. + * + * ```markdown + * > | ~~~js eval + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function metaBefore(code) { + if (code === null || markdownLineEnding(code)) { + return infoBefore(code) + } + effects.enter('codeFencedFenceMeta') + effects.enter('chunkString', { + contentType: 'string' + }) + return meta(code) + } + + /** + * In meta. + * + * ```markdown + * > | ~~~js eval + * ^ + * | alert(1) + * | ~~~ + * ``` + * + * @type {State} + */ + function meta(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceMeta') + return infoBefore(code) + } + if (code === 96 && code === marker) { + return nok(code) + } + effects.consume(code) + return meta + } + + /** + * At eol/eof in code, before a non-lazy closing fence or content. + * + * ```markdown + * > | ~~~js + * ^ + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function atNonLazyBreak(code) { + return effects.attempt(closeStart, after, contentBefore)(code) + } + + /** + * Before code content, not a closing fence, at eol. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentBefore(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return contentStart + } + + /** + * Before code content, not a closing fence. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentStart(code) { + return initialPrefix > 0 && markdownSpace(code) + ? factorySpace( + effects, + beforeContentChunk, + 'linePrefix', + initialPrefix + 1 + )(code) + : beforeContentChunk(code) + } + + /** + * Before code content, after optional prefix. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^ + * | ~~~ + * ``` + * + * @type {State} + */ + function beforeContentChunk(code) { + if (code === null || markdownLineEnding(code)) { + return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) + } + effects.enter('codeFlowValue') + return contentChunk(code) + } + + /** + * In code content. + * + * ```markdown + * | ~~~js + * > | alert(1) + * ^^^^^^^^ + * | ~~~ + * ``` + * + * @type {State} + */ + function contentChunk(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return beforeContentChunk(code) + } + effects.consume(code) + return contentChunk + } + + /** + * After code. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + effects.exit('codeFenced') + return ok(code) + } + + /** + * @this {TokenizeContext} + * @type {Tokenizer} + */ + function tokenizeCloseStart(effects, ok, nok) { + let size = 0 + return startBefore + + /** + * + * + * @type {State} + */ + function startBefore(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return start + } + + /** + * Before closing fence, at optional whitespace. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // Always populated by defaults. + + // To do: `enter` here or in next state? + effects.enter('codeFencedFence') + return markdownSpace(code) + ? factorySpace( + effects, + beforeSequenceClose, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : beforeSequenceClose(code) + } + + /** + * In closing fence, after optional whitespace, at sequence. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function beforeSequenceClose(code) { + if (code === marker) { + effects.enter('codeFencedFenceSequence') + return sequenceClose(code) + } + return nok(code) + } + + /** + * In closing fence sequence. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function sequenceClose(code) { + if (code === marker) { + size++ + effects.consume(code) + return sequenceClose + } + if (size >= sizeOpen) { + effects.exit('codeFencedFenceSequence') + return markdownSpace(code) + ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code) + : sequenceCloseAfter(code) + } + return nok(code) + } + + /** + * After closing fence sequence, after optional whitespace. + * + * ```markdown + * | ~~~js + * | alert(1) + * > | ~~~ + * ^ + * ``` + * + * @type {State} + */ + function sequenceCloseAfter(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFencedFence') + return ok(code) + } + return nok(code) + } + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeNonLazyContinuation(effects, ok, nok) { + const self = this + return start + + /** + * + * + * @type {State} + */ + function start(code) { + if (code === null) { + return nok(code) + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return lineStart + } + + /** + * + * + * @type {State} + */ + function lineStart(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-indented.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-indented.js new file mode 100644 index 0000000000..f0249e7de5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-indented.js @@ -0,0 +1,183 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const codeIndented = { + name: 'codeIndented', + tokenize: tokenizeCodeIndented +} + +/** @type {Construct} */ +const furtherStart = { + tokenize: tokenizeFurtherStart, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeIndented(effects, ok, nok) { + const self = this + return start + + /** + * Start of code (indented). + * + * > **Parsing note**: it is not needed to check if this first line is a + * > filled line (that it has a non-whitespace character), because blank lines + * > are parsed already, so we never run into that. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: manually check if interrupting like `markdown-rs`. + + effects.enter('codeIndented') + // To do: use an improved `space_or_tab` function like `markdown-rs`, + // so that we can drop the next state. + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) + } + + /** + * At start, after 1 or 4 spaces. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ? atBreak(code) + : nok(code) + } + + /** + * At a break. + * + * ```markdown + * > | aaa + * ^ ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === null) { + return after(code) + } + if (markdownLineEnding(code)) { + return effects.attempt(furtherStart, atBreak, after)(code) + } + effects.enter('codeFlowValue') + return inside(code) + } + + /** + * In code content. + * + * ```markdown + * > | aaa + * ^^^^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return atBreak(code) + } + effects.consume(code) + return inside + } + + /** @type {State} */ + function after(code) { + effects.exit('codeIndented') + // To do: allow interrupting like `markdown-rs`. + // Feel free to interrupt. + // tokenizer.interrupt = false + return ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeFurtherStart(effects, ok, nok) { + const self = this + return furtherStart + + /** + * At eol, trying to parse another indent. + * + * ```markdown + * > | aaa + * ^ + * | bbb + * ``` + * + * @type {State} + */ + function furtherStart(code) { + // To do: improve `lazy` / `pierce` handling. + // If this is a lazy line, it can’t be code. + if (self.parser.lazy[self.now().line]) { + return nok(code) + } + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return furtherStart + } + + // To do: the code here in `micromark-js` is a bit different from + // `markdown-rs` because there it can attempt spaces. + // We can’t yet. + // + // To do: use an improved `space_or_tab` function like `markdown-rs`, + // so that we can drop the next state. + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) + } + + /** + * At start, after 1 or 4 spaces. + * + * ```markdown + * > | aaa + * ^ + * ``` + * + * @type {State} + */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ? ok(code) + : markdownLineEnding(code) + ? furtherStart(code) + : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-text.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-text.js new file mode 100644 index 0000000000..dfcf0fa957 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/code-text.js @@ -0,0 +1,237 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Previous} Previous + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const codeText = { + name: 'codeText', + tokenize: tokenizeCodeText, + resolve: resolveCodeText, + previous +} + +// To do: next major: don’t resolve, like `markdown-rs`. +/** @type {Resolver} */ +function resolveCodeText(events) { + let tailExitIndex = events.length - 4 + let headEnterIndex = 3 + /** @type {number} */ + let index + /** @type {number | undefined} */ + let enter + + // If we start and end with an EOL or a space. + if ( + (events[headEnterIndex][1].type === 'lineEnding' || + events[headEnterIndex][1].type === 'space') && + (events[tailExitIndex][1].type === 'lineEnding' || + events[tailExitIndex][1].type === 'space') + ) { + index = headEnterIndex + + // And we have data. + while (++index < tailExitIndex) { + if (events[index][1].type === 'codeTextData') { + // Then we have padding. + events[headEnterIndex][1].type = 'codeTextPadding' + events[tailExitIndex][1].type = 'codeTextPadding' + headEnterIndex += 2 + tailExitIndex -= 2 + break + } + } + } + + // Merge adjacent spaces and data. + index = headEnterIndex - 1 + tailExitIndex++ + while (++index <= tailExitIndex) { + if (enter === undefined) { + if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') { + enter = index + } + } else if ( + index === tailExitIndex || + events[index][1].type === 'lineEnding' + ) { + events[enter][1].type = 'codeTextData' + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + tailExitIndex -= index - enter - 2 + index = enter + 2 + } + enter = undefined + } + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Previous} + */ +function previous(code) { + // If there is a previous code, there will always be a tail. + return ( + code !== 96 || + this.events[this.events.length - 1][1].type === 'characterEscape' + ) +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeCodeText(effects, ok, nok) { + const self = this + let sizeOpen = 0 + /** @type {number} */ + let size + /** @type {Token} */ + let token + return start + + /** + * Start of code (text). + * + * ```markdown + * > | `a` + * ^ + * > | \`a` + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('codeText') + effects.enter('codeTextSequence') + return sequenceOpen(code) + } + + /** + * In opening sequence. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === 96) { + effects.consume(code) + sizeOpen++ + return sequenceOpen + } + effects.exit('codeTextSequence') + return between(code) + } + + /** + * Between something and something else. + * + * ```markdown + * > | `a` + * ^^ + * ``` + * + * @type {State} + */ + function between(code) { + // EOF. + if (code === null) { + return nok(code) + } + + // To do: next major: don’t do spaces in resolve, but when compiling, + // like `markdown-rs`. + // Tabs don’t work, and virtual spaces don’t make sense. + if (code === 32) { + effects.enter('space') + effects.consume(code) + effects.exit('space') + return between + } + + // Closing fence? Could also be data. + if (code === 96) { + token = effects.enter('codeTextSequence') + size = 0 + return sequenceClose(code) + } + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return between + } + + // Data. + effects.enter('codeTextData') + return data(code) + } + + /** + * In data. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function data(code) { + if ( + code === null || + code === 32 || + code === 96 || + markdownLineEnding(code) + ) { + effects.exit('codeTextData') + return between(code) + } + effects.consume(code) + return data + } + + /** + * In closing sequence. + * + * ```markdown + * > | `a` + * ^ + * ``` + * + * @type {State} + */ + function sequenceClose(code) { + // More. + if (code === 96) { + effects.consume(code) + size++ + return sequenceClose + } + + // Done! + if (size === sizeOpen) { + effects.exit('codeTextSequence') + effects.exit('codeText') + return ok(code) + } + + // More or less accents: mark as data. + token.type = 'codeTextData' + return data(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/content.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/content.js new file mode 100644 index 0000000000..77ffb2c5f2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/content.js @@ -0,0 +1,168 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +import {subtokenize} from 'micromark-util-subtokenize' +/** + * No name because it must not be turned off. + * @type {Construct} + */ +export const content = { + tokenize: tokenizeContent, + resolve: resolveContent +} + +/** @type {Construct} */ +const continuationConstruct = { + tokenize: tokenizeContinuation, + partial: true +} + +/** + * Content is transparent: it’s parsed right now. That way, definitions are also + * parsed right now: before text in paragraphs (specifically, media) are parsed. + * + * @type {Resolver} + */ +function resolveContent(events) { + subtokenize(events) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContent(effects, ok) { + /** @type {Token | undefined} */ + let previous + return chunkStart + + /** + * Before a content chunk. + * + * ```markdown + * > | abc + * ^ + * ``` + * + * @type {State} + */ + function chunkStart(code) { + effects.enter('content') + previous = effects.enter('chunkContent', { + contentType: 'content' + }) + return chunkInside(code) + } + + /** + * In a content chunk. + * + * ```markdown + * > | abc + * ^^^ + * ``` + * + * @type {State} + */ + function chunkInside(code) { + if (code === null) { + return contentEnd(code) + } + + // To do: in `markdown-rs`, each line is parsed on its own, and everything + // is stitched together resolving. + if (markdownLineEnding(code)) { + return effects.check( + continuationConstruct, + contentContinue, + contentEnd + )(code) + } + + // Data. + effects.consume(code) + return chunkInside + } + + /** + * + * + * @type {State} + */ + function contentEnd(code) { + effects.exit('chunkContent') + effects.exit('content') + return ok(code) + } + + /** + * + * + * @type {State} + */ + function contentContinue(code) { + effects.consume(code) + effects.exit('chunkContent') + previous.next = effects.enter('chunkContent', { + contentType: 'content', + previous + }) + previous = previous.next + return chunkInside + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContinuation(effects, ok, nok) { + const self = this + return startLookahead + + /** + * + * + * @type {State} + */ + function startLookahead(code) { + effects.exit('chunkContent') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, prefixed, 'linePrefix') + } + + /** + * + * + * @type {State} + */ + function prefixed(code) { + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + + // Always populated by defaults. + + const tail = self.events[self.events.length - 1] + if ( + !self.parser.constructs.disable.null.includes('codeIndented') && + tail && + tail[1].type === 'linePrefix' && + tail[2].sliceSerialize(tail[1], true).length >= 4 + ) { + return ok(code) + } + return effects.interrupt(self.parser.constructs.flow, nok, ok)(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/definition.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/definition.js new file mode 100644 index 0000000000..96bc2004a2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/definition.js @@ -0,0 +1,286 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factoryDestination} from 'micromark-factory-destination' +import {factoryLabel} from 'micromark-factory-label' +import {factorySpace} from 'micromark-factory-space' +import {factoryTitle} from 'micromark-factory-title' +import {factoryWhitespace} from 'micromark-factory-whitespace' +import { + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +/** @type {Construct} */ +export const definition = { + name: 'definition', + tokenize: tokenizeDefinition +} + +/** @type {Construct} */ +const titleBefore = { + tokenize: tokenizeTitleBefore, + partial: true +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeDefinition(effects, ok, nok) { + const self = this + /** @type {string} */ + let identifier + return start + + /** + * At start of a definition. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // Do not interrupt paragraphs (but do follow definitions). + // To do: do `interrupt` the way `markdown-rs` does. + // To do: parse whitespace the way `markdown-rs` does. + effects.enter('definition') + return before(code) + } + + /** + * After optional whitespace, at `[`. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + // To do: parse whitespace the way `markdown-rs` does. + + return factoryLabel.call( + self, + effects, + labelAfter, + // Note: we don’t need to reset the way `markdown-rs` does. + nok, + 'definitionLabel', + 'definitionLabelMarker', + 'definitionLabelString' + )(code) + } + + /** + * After label. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function labelAfter(code) { + identifier = normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + if (code === 58) { + effects.enter('definitionMarker') + effects.consume(code) + effects.exit('definitionMarker') + return markerAfter + } + return nok(code) + } + + /** + * After marker. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function markerAfter(code) { + // Note: whitespace is optional. + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, destinationBefore)(code) + : destinationBefore(code) + } + + /** + * Before destination. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function destinationBefore(code) { + return factoryDestination( + effects, + destinationAfter, + // Note: we don’t need to reset the way `markdown-rs` does. + nok, + 'definitionDestination', + 'definitionDestinationLiteral', + 'definitionDestinationLiteralMarker', + 'definitionDestinationRaw', + 'definitionDestinationString' + )(code) + } + + /** + * After destination. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function destinationAfter(code) { + return effects.attempt(titleBefore, after, after)(code) + } + + /** + * After definition. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return markdownSpace(code) + ? factorySpace(effects, afterWhitespace, 'whitespace')(code) + : afterWhitespace(code) + } + + /** + * After definition, after optional whitespace. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function afterWhitespace(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('definition') + + // Note: we don’t care about uniqueness. + // It’s likely that that doesn’t happen very frequently. + // It is more likely that it wastes precious time. + self.parser.defined.push(identifier) + + // To do: `markdown-rs` interrupt. + // // You’d be interrupting. + // tokenizer.interrupt = true + return ok(code) + } + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeTitleBefore(effects, ok, nok) { + return titleBefore + + /** + * After destination, at whitespace. + * + * ```markdown + * > | [a]: b + * ^ + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleBefore(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, beforeMarker)(code) + : nok(code) + } + + /** + * At title. + * + * ```markdown + * | [a]: b + * > | "c" + * ^ + * ``` + * + * @type {State} + */ + function beforeMarker(code) { + return factoryTitle( + effects, + titleAfter, + nok, + 'definitionTitle', + 'definitionTitleMarker', + 'definitionTitleString' + )(code) + } + + /** + * After title. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleAfter(code) { + return markdownSpace(code) + ? factorySpace(effects, titleAfterOptionalWhitespace, 'whitespace')(code) + : titleAfterOptionalWhitespace(code) + } + + /** + * After title, after optional whitespace. + * + * ```markdown + * > | [a]: b "c" + * ^ + * ``` + * + * @type {State} + */ + function titleAfterOptionalWhitespace(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/hard-break-escape.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/hard-break-escape.js new file mode 100644 index 0000000000..14df907a6f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/hard-break-escape.js @@ -0,0 +1,57 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const hardBreakEscape = { + name: 'hardBreakEscape', + tokenize: tokenizeHardBreakEscape +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHardBreakEscape(effects, ok, nok) { + return start + + /** + * Start of a hard break (escape). + * + * ```markdown + * > | a\ + * ^ + * | b + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('hardBreakEscape') + effects.consume(code) + return after + } + + /** + * After `\`, at eol. + * + * ```markdown + * > | a\ + * ^ + * | b + * ``` + * + * @type {State} + */ + function after(code) { + if (markdownLineEnding(code)) { + effects.exit('hardBreakEscape') + return ok(code) + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/heading-atx.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/heading-atx.js new file mode 100644 index 0000000000..35d5237930 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/heading-atx.js @@ -0,0 +1,209 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import { + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {splice} from 'micromark-util-chunked' +/** @type {Construct} */ +export const headingAtx = { + name: 'headingAtx', + tokenize: tokenizeHeadingAtx, + resolve: resolveHeadingAtx +} + +/** @type {Resolver} */ +function resolveHeadingAtx(events, context) { + let contentEnd = events.length - 2 + let contentStart = 3 + /** @type {Token} */ + let content + /** @type {Token} */ + let text + + // Prefix whitespace, part of the opening. + if (events[contentStart][1].type === 'whitespace') { + contentStart += 2 + } + + // Suffix whitespace, part of the closing. + if ( + contentEnd - 2 > contentStart && + events[contentEnd][1].type === 'whitespace' + ) { + contentEnd -= 2 + } + if ( + events[contentEnd][1].type === 'atxHeadingSequence' && + (contentStart === contentEnd - 1 || + (contentEnd - 4 > contentStart && + events[contentEnd - 2][1].type === 'whitespace')) + ) { + contentEnd -= contentStart + 1 === contentEnd ? 2 : 4 + } + if (contentEnd > contentStart) { + content = { + type: 'atxHeadingText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end + } + text = { + type: 'chunkText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end, + contentType: 'text' + } + splice(events, contentStart, contentEnd - contentStart + 1, [ + ['enter', content, context], + ['enter', text, context], + ['exit', text, context], + ['exit', content, context] + ]) + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHeadingAtx(effects, ok, nok) { + let size = 0 + return start + + /** + * Start of a heading (atx). + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse indent like `markdown-rs`. + effects.enter('atxHeading') + return before(code) + } + + /** + * After optional whitespace, at `#`. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('atxHeadingSequence') + return sequenceOpen(code) + } + + /** + * In opening sequence. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function sequenceOpen(code) { + if (code === 35 && size++ < 6) { + effects.consume(code) + return sequenceOpen + } + + // Always at least one `#`. + if (code === null || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingSequence') + return atBreak(code) + } + return nok(code) + } + + /** + * After something, before something else. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === 35) { + effects.enter('atxHeadingSequence') + return sequenceFurther(code) + } + if (code === null || markdownLineEnding(code)) { + effects.exit('atxHeading') + // To do: interrupt like `markdown-rs`. + // // Feel free to interrupt. + // tokenizer.interrupt = false + return ok(code) + } + if (markdownSpace(code)) { + return factorySpace(effects, atBreak, 'whitespace')(code) + } + + // To do: generate `data` tokens, add the `text` token later. + // Needs edit map, see: `markdown.rs`. + effects.enter('atxHeadingText') + return data(code) + } + + /** + * In further sequence (after whitespace). + * + * Could be normal “visible” hashes in the heading or a final sequence. + * + * ```markdown + * > | ## aa ## + * ^ + * ``` + * + * @type {State} + */ + function sequenceFurther(code) { + if (code === 35) { + effects.consume(code) + return sequenceFurther + } + effects.exit('atxHeadingSequence') + return atBreak(code) + } + + /** + * In text. + * + * ```markdown + * > | ## aa + * ^ + * ``` + * + * @type {State} + */ + function data(code) { + if (code === null || code === 35 || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingText') + return atBreak(code) + } + effects.consume(code) + return data + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-flow.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-flow.js new file mode 100644 index 0000000000..4161a3d956 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-flow.js @@ -0,0 +1,916 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import { + asciiAlpha, + asciiAlphanumeric, + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name' +import {blankLine} from './blank-line.js' + +/** @type {Construct} */ +export const htmlFlow = { + name: 'htmlFlow', + tokenize: tokenizeHtmlFlow, + resolveTo: resolveToHtmlFlow, + concrete: true +} + +/** @type {Construct} */ +const blankLineBefore = { + tokenize: tokenizeBlankLineBefore, + partial: true +} +const nonLazyContinuationStart = { + tokenize: tokenizeNonLazyContinuationStart, + partial: true +} + +/** @type {Resolver} */ +function resolveToHtmlFlow(events) { + let index = events.length + while (index--) { + if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') { + break + } + } + if (index > 1 && events[index - 2][1].type === 'linePrefix') { + // Add the prefix start to the HTML token. + events[index][1].start = events[index - 2][1].start + // Add the prefix start to the HTML line token. + events[index + 1][1].start = events[index - 2][1].start + // Remove the line prefix. + events.splice(index - 2, 2) + } + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHtmlFlow(effects, ok, nok) { + const self = this + /** @type {number} */ + let marker + /** @type {boolean} */ + let closingTag + /** @type {string} */ + let buffer + /** @type {number} */ + let index + /** @type {Code} */ + let markerB + return start + + /** + * Start of HTML (flow). + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + // To do: parse indent like `markdown-rs`. + return before(code) + } + + /** + * At `<`, after optional whitespace. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('htmlFlow') + effects.enter('htmlFlowData') + effects.consume(code) + return open + } + + /** + * After `<`, at tag name or other stuff. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationOpen + } + if (code === 47) { + effects.consume(code) + closingTag = true + return tagCloseStart + } + if (code === 63) { + effects.consume(code) + marker = 3 + // To do: + // tokenizer.concrete = true + // To do: use `markdown-rs` style interrupt. + // While we’re in an instruction instead of a declaration, we’re on a `?` + // right now, so we do need to search for `>`, similar to declarations. + return self.interrupt ? ok : continuationDeclarationInside + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + // @ts-expect-error: not null. + buffer = String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * After ` | + * ^ + * > | + * ^ + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function declarationOpen(code) { + if (code === 45) { + effects.consume(code) + marker = 2 + return commentOpenInside + } + if (code === 91) { + effects.consume(code) + marker = 5 + index = 0 + return cdataOpenInside + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + marker = 4 + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuationDeclarationInside + } + return nok(code) + } + + /** + * After ` | + * ^ + * ``` + * + * @type {State} + */ + function commentOpenInside(code) { + if (code === 45) { + effects.consume(code) + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuationDeclarationInside + } + return nok(code) + } + + /** + * After ` | &<]]> + * ^^^^^^ + * ``` + * + * @type {State} + */ + function cdataOpenInside(code) { + const value = 'CDATA[' + if (code === value.charCodeAt(index++)) { + effects.consume(code) + if (index === value.length) { + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuation + } + return cdataOpenInside + } + return nok(code) + } + + /** + * After ` | + * ^ + * ``` + * + * @type {State} + */ + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + // @ts-expect-error: not null. + buffer = String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * In tag name. + * + * ```markdown + * > | + * ^^ + * > | + * ^^ + * ``` + * + * @type {State} + */ + function tagName(code) { + if ( + code === null || + code === 47 || + code === 62 || + markdownLineEndingOrSpace(code) + ) { + const slash = code === 47 + const name = buffer.toLowerCase() + if (!slash && !closingTag && htmlRawNames.includes(name)) { + marker = 1 + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok(code) : continuation(code) + } + if (htmlBlockNames.includes(buffer.toLowerCase())) { + marker = 6 + if (slash) { + effects.consume(code) + return basicSelfClosing + } + + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok(code) : continuation(code) + } + marker = 7 + // Do not support complete HTML when interrupting. + return self.interrupt && !self.parser.lazy[self.now().line] + ? nok(code) + : closingTag + ? completeClosingTagAfter(code) + : completeAttributeNameBefore(code) + } + + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + buffer += String.fromCharCode(code) + return tagName + } + return nok(code) + } + + /** + * After closing slash of a basic tag name. + * + * ```markdown + * > |
    + * ^ + * ``` + * + * @type {State} + */ + function basicSelfClosing(code) { + if (code === 62) { + effects.consume(code) + // // Do not form containers. + // tokenizer.concrete = true + return self.interrupt ? ok : continuation + } + return nok(code) + } + + /** + * After closing slash of a complete tag name. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeClosingTagAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeClosingTagAfter + } + return completeEnd(code) + } + + /** + * At an attribute name. + * + * At first, this state is used after a complete tag name, after whitespace, + * where it expects optional attributes or the end of the tag. + * It is also reused after attributes, when expecting more optional + * attributes. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeNameBefore(code) { + if (code === 47) { + effects.consume(code) + return completeEnd + } + + // ASCII alphanumerical and `:` and `_`. + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return completeAttributeName + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameBefore + } + return completeEnd(code) + } + + /** + * In attribute name. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeName(code) { + // ASCII alphanumerical and `-`, `.`, `:`, and `_`. + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return completeAttributeName + } + return completeAttributeNameAfter(code) + } + + /** + * After attribute name, at an optional initializer, the end of the tag, or + * whitespace. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return completeAttributeValueBefore + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameAfter + } + return completeAttributeNameBefore(code) + } + + /** + * Before unquoted, double quoted, or single quoted attribute value, allowing + * whitespace. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + if (code === 34 || code === 39) { + effects.consume(code) + markerB = code + return completeAttributeValueQuoted + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeValueBefore + } + return completeAttributeValueUnquoted(code) + } + + /** + * In double or single quoted attribute value. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueQuoted(code) { + if (code === markerB) { + effects.consume(code) + markerB = null + return completeAttributeValueQuotedAfter + } + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + effects.consume(code) + return completeAttributeValueQuoted + } + + /** + * In unquoted attribute value. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 47 || + code === 60 || + code === 61 || + code === 62 || + code === 96 || + markdownLineEndingOrSpace(code) + ) { + return completeAttributeNameAfter(code) + } + effects.consume(code) + return completeAttributeValueUnquoted + } + + /** + * After double or single quoted attribute value, before whitespace or the + * end of the tag. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownSpace(code)) { + return completeAttributeNameBefore(code) + } + return nok(code) + } + + /** + * In certain circumstances of a complete tag where only an `>` is allowed. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeEnd(code) { + if (code === 62) { + effects.consume(code) + return completeAfter + } + return nok(code) + } + + /** + * After `>` in a complete tag. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function completeAfter(code) { + if (code === null || markdownLineEnding(code)) { + // // Do not form containers. + // tokenizer.concrete = true + return continuation(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return completeAfter + } + return nok(code) + } + + /** + * In continuation of any HTML kind. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuation(code) { + if (code === 45 && marker === 2) { + effects.consume(code) + return continuationCommentInside + } + if (code === 60 && marker === 1) { + effects.consume(code) + return continuationRawTagOpen + } + if (code === 62 && marker === 4) { + effects.consume(code) + return continuationClose + } + if (code === 63 && marker === 3) { + effects.consume(code) + return continuationDeclarationInside + } + if (code === 93 && marker === 5) { + effects.consume(code) + return continuationCdataInside + } + if (markdownLineEnding(code) && (marker === 6 || marker === 7)) { + effects.exit('htmlFlowData') + return effects.check( + blankLineBefore, + continuationAfter, + continuationStart + )(code) + } + if (code === null || markdownLineEnding(code)) { + effects.exit('htmlFlowData') + return continuationStart(code) + } + effects.consume(code) + return continuation + } + + /** + * In continuation, at eol. + * + * ```markdown + * > | + * ^ + * | asd + * ``` + * + * @type {State} + */ + function continuationStart(code) { + return effects.check( + nonLazyContinuationStart, + continuationStartNonLazy, + continuationAfter + )(code) + } + + /** + * In continuation, at eol, before non-lazy content. + * + * ```markdown + * > | + * ^ + * | asd + * ``` + * + * @type {State} + */ + function continuationStartNonLazy(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return continuationBefore + } + + /** + * In continuation, before non-lazy content. + * + * ```markdown + * | + * > | asd + * ^ + * ``` + * + * @type {State} + */ + function continuationBefore(code) { + if (code === null || markdownLineEnding(code)) { + return continuationStart(code) + } + effects.enter('htmlFlowData') + return continuation(code) + } + + /** + * In comment continuation, after one `-`, expecting another. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationCommentInside(code) { + if (code === 45) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In raw continuation, after `<`, at `/`. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationRawTagOpen(code) { + if (code === 47) { + effects.consume(code) + buffer = '' + return continuationRawEndTag + } + return continuation(code) + } + + /** + * In raw continuation, after ` | + * ^^^^^^ + * ``` + * + * @type {State} + */ + function continuationRawEndTag(code) { + if (code === 62) { + const name = buffer.toLowerCase() + if (htmlRawNames.includes(name)) { + effects.consume(code) + return continuationClose + } + return continuation(code) + } + if (asciiAlpha(code) && buffer.length < 8) { + effects.consume(code) + // @ts-expect-error: not null. + buffer += String.fromCharCode(code) + return continuationRawEndTag + } + return continuation(code) + } + + /** + * In cdata continuation, after `]`, expecting `]>`. + * + * ```markdown + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function continuationCdataInside(code) { + if (code === 93) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In declaration or instruction continuation, at `>`. + * + * ```markdown + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | + * ^ + * > | &<]]> + * ^ + * ``` + * + * @type {State} + */ + function continuationDeclarationInside(code) { + if (code === 62) { + effects.consume(code) + return continuationClose + } + + // More dashes. + if (code === 45 && marker === 2) { + effects.consume(code) + return continuationDeclarationInside + } + return continuation(code) + } + + /** + * In closed continuation: everything we get until the eol/eof is part of it. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationClose(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('htmlFlowData') + return continuationAfter(code) + } + effects.consume(code) + return continuationClose + } + + /** + * Done. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function continuationAfter(code) { + effects.exit('htmlFlow') + // // Feel free to interrupt. + // tokenizer.interrupt = false + // // No longer concrete. + // tokenizer.concrete = false + return ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeNonLazyContinuationStart(effects, ok, nok) { + const self = this + return start + + /** + * At eol, before continuation. + * + * ```markdown + * > | * ```js + * ^ + * | b + * ``` + * + * @type {State} + */ + function start(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return after + } + return nok(code) + } + + /** + * A continuation. + * + * ```markdown + * | * ```js + * > | b + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeBlankLineBefore(effects, ok, nok) { + return start + + /** + * Before eol, expecting blank line. + * + * ```markdown + * > |
    + * ^ + * | + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return effects.attempt(blankLine, ok, nok) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-text.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-text.js new file mode 100644 index 0000000000..feee902c75 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/html-text.js @@ -0,0 +1,713 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import { + asciiAlpha, + asciiAlphanumeric, + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +/** @type {Construct} */ +export const htmlText = { + name: 'htmlText', + tokenize: tokenizeHtmlText +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeHtmlText(effects, ok, nok) { + const self = this + /** @type {NonNullable | undefined} */ + let marker + /** @type {number} */ + let index + /** @type {State} */ + let returnState + return start + + /** + * Start of HTML (text). + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('htmlText') + effects.enter('htmlTextData') + effects.consume(code) + return open + } + + /** + * After `<`, at tag name or other stuff. + * + * ```markdown + * > | a c + * ^ + * > | a c + * ^ + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationOpen + } + if (code === 47) { + effects.consume(code) + return tagCloseStart + } + if (code === 63) { + effects.consume(code) + return instruction + } + + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + return tagOpen + } + return nok(code) + } + + /** + * After ` | a c + * ^ + * > | a c + * ^ + * > | a &<]]> c + * ^ + * ``` + * + * @type {State} + */ + function declarationOpen(code) { + if (code === 45) { + effects.consume(code) + return commentOpenInside + } + if (code === 91) { + effects.consume(code) + index = 0 + return cdataOpenInside + } + if (asciiAlpha(code)) { + effects.consume(code) + return declaration + } + return nok(code) + } + + /** + * In a comment, after ` | a c + * ^ + * ``` + * + * @type {State} + */ + function commentOpenInside(code) { + if (code === 45) { + effects.consume(code) + return commentEnd + } + return nok(code) + } + + /** + * In comment. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function comment(code) { + if (code === null) { + return nok(code) + } + if (code === 45) { + effects.consume(code) + return commentClose + } + if (markdownLineEnding(code)) { + returnState = comment + return lineEndingBefore(code) + } + effects.consume(code) + return comment + } + + /** + * In comment, after `-`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function commentClose(code) { + if (code === 45) { + effects.consume(code) + return commentEnd + } + return comment(code) + } + + /** + * In comment, after `--`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function commentEnd(code) { + return code === 62 + ? end(code) + : code === 45 + ? commentClose(code) + : comment(code) + } + + /** + * After ` | a &<]]> b + * ^^^^^^ + * ``` + * + * @type {State} + */ + function cdataOpenInside(code) { + const value = 'CDATA[' + if (code === value.charCodeAt(index++)) { + effects.consume(code) + return index === value.length ? cdata : cdataOpenInside + } + return nok(code) + } + + /** + * In CDATA. + * + * ```markdown + * > | a &<]]> b + * ^^^ + * ``` + * + * @type {State} + */ + function cdata(code) { + if (code === null) { + return nok(code) + } + if (code === 93) { + effects.consume(code) + return cdataClose + } + if (markdownLineEnding(code)) { + returnState = cdata + return lineEndingBefore(code) + } + effects.consume(code) + return cdata + } + + /** + * In CDATA, after `]`, at another `]`. + * + * ```markdown + * > | a &<]]> b + * ^ + * ``` + * + * @type {State} + */ + function cdataClose(code) { + if (code === 93) { + effects.consume(code) + return cdataEnd + } + return cdata(code) + } + + /** + * In CDATA, after `]]`, at `>`. + * + * ```markdown + * > | a &<]]> b + * ^ + * ``` + * + * @type {State} + */ + function cdataEnd(code) { + if (code === 62) { + return end(code) + } + if (code === 93) { + effects.consume(code) + return cdataEnd + } + return cdata(code) + } + + /** + * In declaration. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function declaration(code) { + if (code === null || code === 62) { + return end(code) + } + if (markdownLineEnding(code)) { + returnState = declaration + return lineEndingBefore(code) + } + effects.consume(code) + return declaration + } + + /** + * In instruction. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function instruction(code) { + if (code === null) { + return nok(code) + } + if (code === 63) { + effects.consume(code) + return instructionClose + } + if (markdownLineEnding(code)) { + returnState = instruction + return lineEndingBefore(code) + } + effects.consume(code) + return instruction + } + + /** + * In instruction, after `?`, at `>`. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function instructionClose(code) { + return code === 62 ? end(code) : instruction(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagCloseStart(code) { + // ASCII alphabetical. + if (asciiAlpha(code)) { + effects.consume(code) + return tagClose + } + return nok(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagClose(code) { + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagClose + } + return tagCloseBetween(code) + } + + /** + * In closing tag, after tag name. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function tagCloseBetween(code) { + if (markdownLineEnding(code)) { + returnState = tagCloseBetween + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagCloseBetween + } + return end(code) + } + + /** + * After ` | a c + * ^ + * ``` + * + * @type {State} + */ + function tagOpen(code) { + // ASCII alphanumerical and `-`. + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagOpen + } + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + return nok(code) + } + + /** + * In opening tag, after tag name. + * + * ```markdown + * > | a c + * ^ + * ``` + * + * @type {State} + */ + function tagOpenBetween(code) { + if (code === 47) { + effects.consume(code) + return end + } + + // ASCII alphabetical and `:` and `_`. + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return tagOpenAttributeName + } + if (markdownLineEnding(code)) { + returnState = tagOpenBetween + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenBetween + } + return end(code) + } + + /** + * In attribute name. + * + * ```markdown + * > | a d + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeName(code) { + // ASCII alphabetical and `-`, `.`, `:`, and `_`. + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return tagOpenAttributeName + } + return tagOpenAttributeNameAfter(code) + } + + /** + * After attribute name, before initializer, the end of the tag, or + * whitespace. + * + * ```markdown + * > | a d + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeNameAfter + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeNameAfter + } + return tagOpenBetween(code) + } + + /** + * Before unquoted, double quoted, or single quoted attribute value, allowing + * whitespace. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + if (code === 34 || code === 39) { + effects.consume(code) + marker = code + return tagOpenAttributeValueQuoted + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueBefore + return lineEndingBefore(code) + } + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + /** + * In double or single quoted attribute value. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + marker = undefined + return tagOpenAttributeValueQuotedAfter + } + if (code === null) { + return nok(code) + } + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueQuoted + return lineEndingBefore(code) + } + effects.consume(code) + return tagOpenAttributeValueQuoted + } + + /** + * In unquoted attribute value. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 60 || + code === 61 || + code === 96 + ) { + return nok(code) + } + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + /** + * After double or single quoted attribute value, before whitespace or the end + * of the tag. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function tagOpenAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + return nok(code) + } + + /** + * In certain circumstances of a tag where only an `>` is allowed. + * + * ```markdown + * > | a e + * ^ + * ``` + * + * @type {State} + */ + function end(code) { + if (code === 62) { + effects.consume(code) + effects.exit('htmlTextData') + effects.exit('htmlText') + return ok + } + return nok(code) + } + + /** + * At eol. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * > | a + * ``` + * + * @type {State} + */ + function lineEndingBefore(code) { + effects.exit('htmlTextData') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return lineEndingAfter + } + + /** + * After eol, at optional whitespace. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * | a + * ^ + * ``` + * + * @type {State} + */ + function lineEndingAfter(code) { + // Always populated by defaults. + + return markdownSpace(code) + ? factorySpace( + effects, + lineEndingAfterPrefix, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : lineEndingAfterPrefix(code) + } + + /** + * After eol, after optional whitespace. + * + * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about + * > empty tokens. + * + * ```markdown + * | a + * ^ + * ``` + * + * @type {State} + */ + function lineEndingAfterPrefix(code) { + effects.enter('htmlTextData') + return returnState(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-end.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-end.js new file mode 100644 index 0000000000..b4a06def59 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-end.js @@ -0,0 +1,617 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factoryDestination} from 'micromark-factory-destination' +import {factoryLabel} from 'micromark-factory-label' +import {factoryTitle} from 'micromark-factory-title' +import {factoryWhitespace} from 'micromark-factory-whitespace' +import {markdownLineEndingOrSpace} from 'micromark-util-character' +import {push, splice} from 'micromark-util-chunked' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +import {resolveAll} from 'micromark-util-resolve-all' +/** @type {Construct} */ +export const labelEnd = { + name: 'labelEnd', + tokenize: tokenizeLabelEnd, + resolveTo: resolveToLabelEnd, + resolveAll: resolveAllLabelEnd +} + +/** @type {Construct} */ +const resourceConstruct = { + tokenize: tokenizeResource +} +/** @type {Construct} */ +const referenceFullConstruct = { + tokenize: tokenizeReferenceFull +} +/** @type {Construct} */ +const referenceCollapsedConstruct = { + tokenize: tokenizeReferenceCollapsed +} + +/** @type {Resolver} */ +function resolveAllLabelEnd(events) { + let index = -1 + while (++index < events.length) { + const token = events[index][1] + if ( + token.type === 'labelImage' || + token.type === 'labelLink' || + token.type === 'labelEnd' + ) { + // Remove the marker. + events.splice(index + 1, token.type === 'labelImage' ? 4 : 2) + token.type = 'data' + index++ + } + } + return events +} + +/** @type {Resolver} */ +function resolveToLabelEnd(events, context) { + let index = events.length + let offset = 0 + /** @type {Token} */ + let token + /** @type {number | undefined} */ + let open + /** @type {number | undefined} */ + let close + /** @type {Array} */ + let media + + // Find an opening. + while (index--) { + token = events[index][1] + if (open) { + // If we see another link, or inactive link label, we’ve been here before. + if ( + token.type === 'link' || + (token.type === 'labelLink' && token._inactive) + ) { + break + } + + // Mark other link openings as inactive, as we can’t have links in + // links. + if (events[index][0] === 'enter' && token.type === 'labelLink') { + token._inactive = true + } + } else if (close) { + if ( + events[index][0] === 'enter' && + (token.type === 'labelImage' || token.type === 'labelLink') && + !token._balanced + ) { + open = index + if (token.type !== 'labelLink') { + offset = 2 + break + } + } + } else if (token.type === 'labelEnd') { + close = index + } + } + const group = { + type: events[open][1].type === 'labelLink' ? 'link' : 'image', + start: Object.assign({}, events[open][1].start), + end: Object.assign({}, events[events.length - 1][1].end) + } + const label = { + type: 'label', + start: Object.assign({}, events[open][1].start), + end: Object.assign({}, events[close][1].end) + } + const text = { + type: 'labelText', + start: Object.assign({}, events[open + offset + 2][1].end), + end: Object.assign({}, events[close - 2][1].start) + } + media = [ + ['enter', group, context], + ['enter', label, context] + ] + + // Opening marker. + media = push(media, events.slice(open + 1, open + offset + 3)) + + // Text open. + media = push(media, [['enter', text, context]]) + + // Always populated by defaults. + + // Between. + media = push( + media, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + offset + 4, close - 3), + context + ) + ) + + // Text close, marker close, label close. + media = push(media, [ + ['exit', text, context], + events[close - 2], + events[close - 1], + ['exit', label, context] + ]) + + // Reference, resource, or so. + media = push(media, events.slice(close + 1)) + + // Media close. + media = push(media, [['exit', group, context]]) + splice(events, open, events.length, media) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelEnd(effects, ok, nok) { + const self = this + let index = self.events.length + /** @type {Token} */ + let labelStart + /** @type {boolean} */ + let defined + + // Find an opening. + while (index--) { + if ( + (self.events[index][1].type === 'labelImage' || + self.events[index][1].type === 'labelLink') && + !self.events[index][1]._balanced + ) { + labelStart = self.events[index][1] + break + } + } + return start + + /** + * Start of label end. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ``` + * + * @type {State} + */ + function start(code) { + // If there is not an okay opening. + if (!labelStart) { + return nok(code) + } + + // If the corresponding label (link) start is marked as inactive, + // it means we’d be wrapping a link, like this: + // + // ```markdown + // > | a [b [c](d) e](f) g. + // ^ + // ``` + // + // We can’t have that, so it’s just balanced brackets. + if (labelStart._inactive) { + return labelEndNok(code) + } + defined = self.parser.defined.includes( + normalizeIdentifier( + self.sliceSerialize({ + start: labelStart.end, + end: self.now() + }) + ) + ) + effects.enter('labelEnd') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelEnd') + return after + } + + /** + * After `]`. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + // Note: `markdown-rs` also parses GFM footnotes here, which for us is in + // an extension. + + // Resource (`[asd](fgh)`)? + if (code === 40) { + return effects.attempt( + resourceConstruct, + labelEndOk, + defined ? labelEndOk : labelEndNok + )(code) + } + + // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference? + if (code === 91) { + return effects.attempt( + referenceFullConstruct, + labelEndOk, + defined ? referenceNotFull : labelEndNok + )(code) + } + + // Shortcut (`[asd]`) reference? + return defined ? labelEndOk(code) : labelEndNok(code) + } + + /** + * After `]`, at `[`, but not at a full reference. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function referenceNotFull(code) { + return effects.attempt( + referenceCollapsedConstruct, + labelEndOk, + labelEndNok + )(code) + } + + /** + * Done, we found something. + * + * ```markdown + * > | [a](b) c + * ^ + * > | [a][b] c + * ^ + * > | [a][] b + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function labelEndOk(code) { + // Note: `markdown-rs` does a bunch of stuff here. + return ok(code) + } + + /** + * Done, it’s nothing. + * + * There was an okay opening, but we didn’t match anything. + * + * ```markdown + * > | [a](b c + * ^ + * > | [a][b c + * ^ + * > | [a] b + * ^ + * ``` + * + * @type {State} + */ + function labelEndNok(code) { + labelStart._balanced = true + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeResource(effects, ok, nok) { + return resourceStart + + /** + * At a resource. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceStart(code) { + effects.enter('resource') + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + return resourceBefore + } + + /** + * In resource, after `(`, at optional whitespace. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceBefore(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceOpen)(code) + : resourceOpen(code) + } + + /** + * In resource, after optional whitespace, at `)` or a destination. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceOpen(code) { + if (code === 41) { + return resourceEnd(code) + } + return factoryDestination( + effects, + resourceDestinationAfter, + resourceDestinationMissing, + 'resourceDestination', + 'resourceDestinationLiteral', + 'resourceDestinationLiteralMarker', + 'resourceDestinationRaw', + 'resourceDestinationString', + 32 + )(code) + } + + /** + * In resource, after destination, at optional whitespace. + * + * ```markdown + * > | [a](b) c + * ^ + * ``` + * + * @type {State} + */ + function resourceDestinationAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceBetween)(code) + : resourceEnd(code) + } + + /** + * At invalid destination. + * + * ```markdown + * > | [a](<<) b + * ^ + * ``` + * + * @type {State} + */ + function resourceDestinationMissing(code) { + return nok(code) + } + + /** + * In resource, after destination and whitespace, at `(` or title. + * + * ```markdown + * > | [a](b ) c + * ^ + * ``` + * + * @type {State} + */ + function resourceBetween(code) { + if (code === 34 || code === 39 || code === 40) { + return factoryTitle( + effects, + resourceTitleAfter, + nok, + 'resourceTitle', + 'resourceTitleMarker', + 'resourceTitleString' + )(code) + } + return resourceEnd(code) + } + + /** + * In resource, after title, at optional whitespace. + * + * ```markdown + * > | [a](b "c") d + * ^ + * ``` + * + * @type {State} + */ + function resourceTitleAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceEnd)(code) + : resourceEnd(code) + } + + /** + * In resource, at `)`. + * + * ```markdown + * > | [a](b) d + * ^ + * ``` + * + * @type {State} + */ + function resourceEnd(code) { + if (code === 41) { + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + effects.exit('resource') + return ok + } + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeReferenceFull(effects, ok, nok) { + const self = this + return referenceFull + + /** + * In a reference (full), at the `[`. + * + * ```markdown + * > | [a][b] d + * ^ + * ``` + * + * @type {State} + */ + function referenceFull(code) { + return factoryLabel.call( + self, + effects, + referenceFullAfter, + referenceFullMissing, + 'reference', + 'referenceMarker', + 'referenceString' + )(code) + } + + /** + * In a reference (full), after `]`. + * + * ```markdown + * > | [a][b] d + * ^ + * ``` + * + * @type {State} + */ + function referenceFullAfter(code) { + return self.parser.defined.includes( + normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + ) + ? ok(code) + : nok(code) + } + + /** + * In reference (full) that was missing. + * + * ```markdown + * > | [a][b d + * ^ + * ``` + * + * @type {State} + */ + function referenceFullMissing(code) { + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeReferenceCollapsed(effects, ok, nok) { + return referenceCollapsedStart + + /** + * In reference (collapsed), at `[`. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] d + * ^ + * ``` + * + * @type {State} + */ + function referenceCollapsedStart(code) { + // We only attempt a collapsed label if there’s a `[`. + + effects.enter('reference') + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + return referenceCollapsedOpen + } + + /** + * In reference (collapsed), at `]`. + * + * > 👉 **Note**: we only get here if the label is defined. + * + * ```markdown + * > | [a][] d + * ^ + * ``` + * + * @type {State} + */ + function referenceCollapsedOpen(code) { + if (code === 93) { + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + effects.exit('reference') + return ok + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-image.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-image.js new file mode 100644 index 0000000000..6478e72630 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-image.js @@ -0,0 +1,101 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {labelEnd} from './label-end.js' + +/** @type {Construct} */ +export const labelStartImage = { + name: 'labelStartImage', + tokenize: tokenizeLabelStartImage, + resolveAll: labelEnd.resolveAll +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelStartImage(effects, ok, nok) { + const self = this + return start + + /** + * Start of label (image) start. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('labelImage') + effects.enter('labelImageMarker') + effects.consume(code) + effects.exit('labelImageMarker') + return open + } + + /** + * After `!`, at `[`. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if (code === 91) { + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelImage') + return after + } + return nok(code) + } + + /** + * After `![`. + * + * ```markdown + * > | a ![b] c + * ^ + * ``` + * + * This is needed in because, when GFM footnotes are enabled, images never + * form when started with a `^`. + * Instead, links form: + * + * ```markdown + * ![^a](b) + * + * ![^a][b] + * + * [b]: c + * ``` + * + * ```html + *

    !^a

    + *

    !^a

    + * ``` + * + * @type {State} + */ + function after(code) { + // To do: use a new field to do this, this is still needed for + // `micromark-extension-gfm-footnote`, but the `label-start-link` + // behavior isn’t. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs + ? nok(code) + : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-link.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-link.js new file mode 100644 index 0000000000..8eaba63ecc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/label-start-link.js @@ -0,0 +1,54 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {labelEnd} from './label-end.js' + +/** @type {Construct} */ +export const labelStartLink = { + name: 'labelStartLink', + tokenize: tokenizeLabelStartLink, + resolveAll: labelEnd.resolveAll +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLabelStartLink(effects, ok, nok) { + const self = this + return start + + /** + * Start of label (link) start. + * + * ```markdown + * > | a [b] c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('labelLink') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelLink') + return after + } + + /** @type {State} */ + function after(code) { + // To do: this isn’t needed in `micromark-extension-gfm-footnote`, + // remove. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs + ? nok(code) + : ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/line-ending.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/line-ending.js new file mode 100644 index 0000000000..d087851593 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/line-ending.js @@ -0,0 +1,30 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {Construct} */ +export const lineEnding = { + name: 'lineEnding', + tokenize: tokenizeLineEnding +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeLineEnding(effects, ok) { + return start + + /** @type {State} */ + function start(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, ok, 'linePrefix') + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/list.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/list.js new file mode 100644 index 0000000000..fc4c154dd5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/list.js @@ -0,0 +1,268 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ContainerState} ContainerState + * @typedef {import('micromark-util-types').Exiter} Exiter + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {asciiDigit, markdownSpace} from 'micromark-util-character' +import {blankLine} from './blank-line.js' +import {thematicBreak} from './thematic-break.js' + +/** @type {Construct} */ +export const list = { + name: 'list', + tokenize: tokenizeListStart, + continuation: { + tokenize: tokenizeListContinuation + }, + exit: tokenizeListEnd +} + +/** @type {Construct} */ +const listItemPrefixWhitespaceConstruct = { + tokenize: tokenizeListItemPrefixWhitespace, + partial: true +} + +/** @type {Construct} */ +const indentConstruct = { + tokenize: tokenizeIndent, + partial: true +} + +// To do: `markdown-rs` parses list items on their own and later stitches them +// together. + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListStart(effects, ok, nok) { + const self = this + const tail = self.events[self.events.length - 1] + let initialSize = + tail && tail[1].type === 'linePrefix' + ? tail[2].sliceSerialize(tail[1], true).length + : 0 + let size = 0 + return start + + /** @type {State} */ + function start(code) { + const kind = + self.containerState.type || + (code === 42 || code === 43 || code === 45 + ? 'listUnordered' + : 'listOrdered') + if ( + kind === 'listUnordered' + ? !self.containerState.marker || code === self.containerState.marker + : asciiDigit(code) + ) { + if (!self.containerState.type) { + self.containerState.type = kind + effects.enter(kind, { + _container: true + }) + } + if (kind === 'listUnordered') { + effects.enter('listItemPrefix') + return code === 42 || code === 45 + ? effects.check(thematicBreak, nok, atMarker)(code) + : atMarker(code) + } + if (!self.interrupt || code === 49) { + effects.enter('listItemPrefix') + effects.enter('listItemValue') + return inside(code) + } + } + return nok(code) + } + + /** @type {State} */ + function inside(code) { + if (asciiDigit(code) && ++size < 10) { + effects.consume(code) + return inside + } + if ( + (!self.interrupt || size < 2) && + (self.containerState.marker + ? code === self.containerState.marker + : code === 41 || code === 46) + ) { + effects.exit('listItemValue') + return atMarker(code) + } + return nok(code) + } + + /** + * @type {State} + **/ + function atMarker(code) { + effects.enter('listItemMarker') + effects.consume(code) + effects.exit('listItemMarker') + self.containerState.marker = self.containerState.marker || code + return effects.check( + blankLine, + // Can’t be empty when interrupting. + self.interrupt ? nok : onBlank, + effects.attempt( + listItemPrefixWhitespaceConstruct, + endOfPrefix, + otherPrefix + ) + ) + } + + /** @type {State} */ + function onBlank(code) { + self.containerState.initialBlankLine = true + initialSize++ + return endOfPrefix(code) + } + + /** @type {State} */ + function otherPrefix(code) { + if (markdownSpace(code)) { + effects.enter('listItemPrefixWhitespace') + effects.consume(code) + effects.exit('listItemPrefixWhitespace') + return endOfPrefix + } + return nok(code) + } + + /** @type {State} */ + function endOfPrefix(code) { + self.containerState.size = + initialSize + + self.sliceSerialize(effects.exit('listItemPrefix'), true).length + return ok(code) + } +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListContinuation(effects, ok, nok) { + const self = this + self.containerState._closeFlow = undefined + return effects.check(blankLine, onBlank, notBlank) + + /** @type {State} */ + function onBlank(code) { + self.containerState.furtherBlankLines = + self.containerState.furtherBlankLines || + self.containerState.initialBlankLine + + // We have a blank line. + // Still, try to consume at most the items size. + return factorySpace( + effects, + ok, + 'listItemIndent', + self.containerState.size + 1 + )(code) + } + + /** @type {State} */ + function notBlank(code) { + if (self.containerState.furtherBlankLines || !markdownSpace(code)) { + self.containerState.furtherBlankLines = undefined + self.containerState.initialBlankLine = undefined + return notInCurrentItem(code) + } + self.containerState.furtherBlankLines = undefined + self.containerState.initialBlankLine = undefined + return effects.attempt(indentConstruct, ok, notInCurrentItem)(code) + } + + /** @type {State} */ + function notInCurrentItem(code) { + // While we do continue, we signal that the flow should be closed. + self.containerState._closeFlow = true + // As we’re closing flow, we’re no longer interrupting. + self.interrupt = undefined + // Always populated by defaults. + + return factorySpace( + effects, + effects.attempt(list, ok, nok), + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeIndent(effects, ok, nok) { + const self = this + return factorySpace( + effects, + afterPrefix, + 'listItemIndent', + self.containerState.size + 1 + ) + + /** @type {State} */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'listItemIndent' && + tail[2].sliceSerialize(tail[1], true).length === self.containerState.size + ? ok(code) + : nok(code) + } +} + +/** + * @type {Exiter} + * @this {TokenizeContext} + */ +function tokenizeListEnd(effects) { + effects.exit(this.containerState.type) +} + +/** + * @type {Tokenizer} + * @this {TokenizeContext} + */ +function tokenizeListItemPrefixWhitespace(effects, ok, nok) { + const self = this + + // Always populated by defaults. + + return factorySpace( + effects, + afterPrefix, + 'listItemPrefixWhitespace', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + 1 + ) + + /** @type {State} */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return !markdownSpace(code) && + tail && + tail[1].type === 'listItemPrefixWhitespace' + ? ok(code) + : nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/setext-underline.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/setext-underline.js new file mode 100644 index 0000000000..41c4cde17e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/setext-underline.js @@ -0,0 +1,182 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const setextUnderline = { + name: 'setextUnderline', + tokenize: tokenizeSetextUnderline, + resolveTo: resolveToSetextUnderline +} + +/** @type {Resolver} */ +function resolveToSetextUnderline(events, context) { + // To do: resolve like `markdown-rs`. + let index = events.length + /** @type {number | undefined} */ + let content + /** @type {number | undefined} */ + let text + /** @type {number | undefined} */ + let definition + + // Find the opening of the content. + // It’ll always exist: we don’t tokenize if it isn’t there. + while (index--) { + if (events[index][0] === 'enter') { + if (events[index][1].type === 'content') { + content = index + break + } + if (events[index][1].type === 'paragraph') { + text = index + } + } + // Exit + else { + if (events[index][1].type === 'content') { + // Remove the content end (if needed we’ll add it later) + events.splice(index, 1) + } + if (!definition && events[index][1].type === 'definition') { + definition = index + } + } + } + const heading = { + type: 'setextHeading', + start: Object.assign({}, events[text][1].start), + end: Object.assign({}, events[events.length - 1][1].end) + } + + // Change the paragraph to setext heading text. + events[text][1].type = 'setextHeadingText' + + // If we have definitions in the content, we’ll keep on having content, + // but we need move it. + if (definition) { + events.splice(text, 0, ['enter', heading, context]) + events.splice(definition + 1, 0, ['exit', events[content][1], context]) + events[content][1].end = Object.assign({}, events[definition][1].end) + } else { + events[content][1] = heading + } + + // Add the heading exit at the end. + events.push(['exit', heading, context]) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeSetextUnderline(effects, ok, nok) { + const self = this + /** @type {NonNullable} */ + let marker + return start + + /** + * At start of heading (setext) underline. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + let index = self.events.length + /** @type {boolean | undefined} */ + let paragraph + // Find an opening. + while (index--) { + // Skip enter/exit of line ending, line prefix, and content. + // We can now either have a definition or a paragraph. + if ( + self.events[index][1].type !== 'lineEnding' && + self.events[index][1].type !== 'linePrefix' && + self.events[index][1].type !== 'content' + ) { + paragraph = self.events[index][1].type === 'paragraph' + break + } + } + + // To do: handle lazy/pierce like `markdown-rs`. + // To do: parse indent like `markdown-rs`. + if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) { + effects.enter('setextHeadingLine') + marker = code + return before(code) + } + return nok(code) + } + + /** + * After optional whitespace, at `-` or `=`. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + effects.enter('setextHeadingLineSequence') + return inside(code) + } + + /** + * In sequence. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function inside(code) { + if (code === marker) { + effects.consume(code) + return inside + } + effects.exit('setextHeadingLineSequence') + return markdownSpace(code) + ? factorySpace(effects, after, 'lineSuffix')(code) + : after(code) + } + + /** + * After sequence, after optional whitespace. + * + * ```markdown + * | aa + * > | == + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('setextHeadingLine') + return ok(code) + } + return nok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/thematic-break.js b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/thematic-break.js new file mode 100644 index 0000000000..92066ecaa6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/lib/thematic-break.js @@ -0,0 +1,101 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** @type {Construct} */ +export const thematicBreak = { + name: 'thematicBreak', + tokenize: tokenizeThematicBreak +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeThematicBreak(effects, ok, nok) { + let size = 0 + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of thematic break. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('thematicBreak') + // To do: parse indent like `markdown-rs`. + return before(code) + } + + /** + * After optional whitespace, at marker. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function before(code) { + marker = code + return atBreak(code) + } + + /** + * After something, before something else. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === marker) { + effects.enter('thematicBreakSequence') + return sequence(code) + } + if (size >= 3 && (code === null || markdownLineEnding(code))) { + effects.exit('thematicBreak') + return ok(code) + } + return nok(code) + } + + /** + * In sequence. + * + * ```markdown + * > | *** + * ^ + * ``` + * + * @type {State} + */ + function sequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return sequence + } + effects.exit('thematicBreakSequence') + return markdownSpace(code) + ? factorySpace(effects, atBreak, 'whitespace')(code) + : atBreak(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-destination b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-destination new file mode 120000 index 0000000000..f5800bf163 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-destination @@ -0,0 +1 @@ +../../micromark-factory-destination@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-label b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-label new file mode 120000 index 0000000000..a3c59a8a2b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-label @@ -0,0 +1 @@ +../../micromark-factory-label@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..feabb78ef7 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-title b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-title new file mode 120000 index 0000000000..087f643d29 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-title @@ -0,0 +1 @@ +../../micromark-factory-title@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-whitespace b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-whitespace new file mode 120000 index 0000000000..e1c97b4171 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-factory-whitespace @@ -0,0 +1 @@ +../../micromark-factory-whitespace@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..867c7e91ff --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-classify-character b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-classify-character new file mode 120000 index 0000000000..a007a939b3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-classify-character @@ -0,0 +1 @@ +../../micromark-util-classify-character@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-html-tag-name b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-html-tag-name new file mode 120000 index 0000000000..f645a1a8e0 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-html-tag-name @@ -0,0 +1 @@ +../../micromark-util-html-tag-name@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-normalize-identifier b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-normalize-identifier new file mode 120000 index 0000000000..248e506808 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-normalize-identifier @@ -0,0 +1 @@ +../../micromark-util-normalize-identifier@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-resolve-all b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..d621c11bd1 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +../../micromark-util-resolve-all@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-subtokenize b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-subtokenize new file mode 120000 index 0000000000..8b8f432e8f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/node_modules/micromark-util-subtokenize @@ -0,0 +1 @@ +../../micromark-util-subtokenize@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/package.json new file mode 100644 index 0000000000..4daaa4a9d0 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-core-commonmark@2.0.0/package.json @@ -0,0 +1,61 @@ +{ + "name": "micromark-core-commonmark", + "version": "2.0.0", + "description": "The CommonMark markdown constructs", + "license": "MIT", + "keywords": [ + "micromark", + "core", + "commonmark" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "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" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/index.js new file mode 100644 index 0000000000..b7264ff140 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/index.js @@ -0,0 +1,225 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import { + asciiControl, + markdownLineEndingOrSpace, + markdownLineEnding +} from 'micromark-util-character' +/** + * Parse destinations. + * + * ###### Examples + * + * ```markdown + * + * b> + * + * + * a + * a\)b + * a(b)c + * a(b) + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type for whole (`` or `b`). + * @param {TokenType} literalType + * Type when enclosed (``). + * @param {TokenType} literalMarkerType + * Type for enclosing (`<` and `>`). + * @param {TokenType} rawType + * Type when not enclosed (`b`). + * @param {TokenType} stringType + * Type for the value (`a` or `b`). + * @param {number | undefined} [max=Infinity] + * Depth of nested parens (inclusive). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryDestination( + effects, + ok, + nok, + type, + literalType, + literalMarkerType, + rawType, + stringType, + max +) { + const limit = max || Number.POSITIVE_INFINITY + let balance = 0 + return start + + /** + * Start of destination. + * + * ```markdown + * > | + * ^ + * > | aa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 60) { + effects.enter(type) + effects.enter(literalType) + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + return enclosedBefore + } + + // ASCII control, space, closing paren. + if (code === null || code === 32 || code === 41 || asciiControl(code)) { + return nok(code) + } + effects.enter(type) + effects.enter(rawType) + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return raw(code) + } + + /** + * After `<`, at an enclosed destination. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosedBefore(code) { + if (code === 62) { + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + effects.exit(literalType) + effects.exit(type) + return ok + } + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return enclosed(code) + } + + /** + * In enclosed destination. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosed(code) { + if (code === 62) { + effects.exit('chunkString') + effects.exit(stringType) + return enclosedBefore(code) + } + if (code === null || code === 60 || markdownLineEnding(code)) { + return nok(code) + } + effects.consume(code) + return code === 92 ? enclosedEscape : enclosed + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosedEscape(code) { + if (code === 60 || code === 62 || code === 92) { + effects.consume(code) + return enclosed + } + return enclosed(code) + } + + /** + * In raw destination. + * + * ```markdown + * > | aa + * ^ + * ``` + * + * @type {State} + */ + function raw(code) { + if ( + !balance && + (code === null || code === 41 || markdownLineEndingOrSpace(code)) + ) { + effects.exit('chunkString') + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + if (balance < limit && code === 40) { + effects.consume(code) + balance++ + return raw + } + if (code === 41) { + effects.consume(code) + balance-- + return raw + } + + // ASCII control (but *not* `\0`) and space and `(`. + // Note: in `markdown-rs`, `\0` exists in codes, in `micromark-js` it + // doesn’t. + if (code === null || code === 32 || code === 40 || asciiControl(code)) { + return nok(code) + } + effects.consume(code) + return code === 92 ? rawEscape : raw + } + + /** + * After `\`, at special character. + * + * ```markdown + * > | a\*a + * ^ + * ``` + * + * @type {State} + */ + function rawEscape(code) { + if (code === 40 || code === 41 || code === 92) { + effects.consume(code) + return raw + } + return raw(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/package.json new file mode 100644 index 0000000000..c7601430b6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@1.1.0/package.json @@ -0,0 +1,56 @@ +{ + "name": "micromark-factory-destination", + "version": "1.1.0", + "description": "micromark factory to parse destinations (found in resources, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "destination" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/index.js new file mode 100644 index 0000000000..b7264ff140 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/index.js @@ -0,0 +1,225 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import { + asciiControl, + markdownLineEndingOrSpace, + markdownLineEnding +} from 'micromark-util-character' +/** + * Parse destinations. + * + * ###### Examples + * + * ```markdown + * + * b> + * + * + * a + * a\)b + * a(b)c + * a(b) + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type for whole (`` or `b`). + * @param {TokenType} literalType + * Type when enclosed (``). + * @param {TokenType} literalMarkerType + * Type for enclosing (`<` and `>`). + * @param {TokenType} rawType + * Type when not enclosed (`b`). + * @param {TokenType} stringType + * Type for the value (`a` or `b`). + * @param {number | undefined} [max=Infinity] + * Depth of nested parens (inclusive). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryDestination( + effects, + ok, + nok, + type, + literalType, + literalMarkerType, + rawType, + stringType, + max +) { + const limit = max || Number.POSITIVE_INFINITY + let balance = 0 + return start + + /** + * Start of destination. + * + * ```markdown + * > | + * ^ + * > | aa + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 60) { + effects.enter(type) + effects.enter(literalType) + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + return enclosedBefore + } + + // ASCII control, space, closing paren. + if (code === null || code === 32 || code === 41 || asciiControl(code)) { + return nok(code) + } + effects.enter(type) + effects.enter(rawType) + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return raw(code) + } + + /** + * After `<`, at an enclosed destination. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosedBefore(code) { + if (code === 62) { + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + effects.exit(literalType) + effects.exit(type) + return ok + } + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return enclosed(code) + } + + /** + * In enclosed destination. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosed(code) { + if (code === 62) { + effects.exit('chunkString') + effects.exit(stringType) + return enclosedBefore(code) + } + if (code === null || code === 60 || markdownLineEnding(code)) { + return nok(code) + } + effects.consume(code) + return code === 92 ? enclosedEscape : enclosed + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | + * ^ + * ``` + * + * @type {State} + */ + function enclosedEscape(code) { + if (code === 60 || code === 62 || code === 92) { + effects.consume(code) + return enclosed + } + return enclosed(code) + } + + /** + * In raw destination. + * + * ```markdown + * > | aa + * ^ + * ``` + * + * @type {State} + */ + function raw(code) { + if ( + !balance && + (code === null || code === 41 || markdownLineEndingOrSpace(code)) + ) { + effects.exit('chunkString') + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + if (balance < limit && code === 40) { + effects.consume(code) + balance++ + return raw + } + if (code === 41) { + effects.consume(code) + balance-- + return raw + } + + // ASCII control (but *not* `\0`) and space and `(`. + // Note: in `markdown-rs`, `\0` exists in codes, in `micromark-js` it + // doesn’t. + if (code === null || code === 32 || code === 40 || asciiControl(code)) { + return nok(code) + } + effects.consume(code) + return code === 92 ? rawEscape : raw + } + + /** + * After `\`, at special character. + * + * ```markdown + * > | a\*a + * ^ + * ``` + * + * @type {State} + */ + function rawEscape(code) { + if (code === 40 || code === 41 || code === 92) { + effects.consume(code) + return raw + } + return raw(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/package.json new file mode 100644 index 0000000000..9cef0cd581 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-destination@2.0.0/package.json @@ -0,0 +1,47 @@ +{ + "name": "micromark-factory-destination", + "version": "2.0.0", + "description": "micromark factory to parse destinations (found in resources, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "destination" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/index.js new file mode 100644 index 0000000000..b3d49e724f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/index.js @@ -0,0 +1,159 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** + * Parse labels. + * + * > 👉 **Note**: labels in markdown are capped at 999 characters in the string. + * + * ###### Examples + * + * ```markdown + * [a] + * [a + * b] + * [a\]b] + * ``` + * + * @this {TokenizeContext} + * Tokenize context. + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type of the whole label (`[a]`). + * @param {TokenType} markerType + * Type for the markers (`[` and `]`). + * @param {TokenType} stringType + * Type for the identifier (`a`). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryLabel(effects, ok, nok, type, markerType, stringType) { + const self = this + let size = 0 + /** @type {boolean} */ + let seen + return start + + /** + * Start of label. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.enter(stringType) + return atBreak + } + + /** + * In label, at something, before something else. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if ( + size > 999 || + code === null || + code === 91 || + (code === 93 && !seen) || + // To do: remove in the future once we’ve switched from + // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`, + // which doesn’t need this. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + (code === 94 && + !size && + '_hiddenFootnoteSupport' in self.parser.constructs) + ) { + return nok(code) + } + if (code === 93) { + effects.exit(stringType) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + // To do: indent? Link chunks and EOLs together? + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return atBreak + } + effects.enter('chunkString', { + contentType: 'string' + }) + return labelInside(code) + } + + /** + * In label, in text. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function labelInside(code) { + if ( + code === null || + code === 91 || + code === 93 || + markdownLineEnding(code) || + size++ > 999 + ) { + effects.exit('chunkString') + return atBreak(code) + } + effects.consume(code) + if (!seen) seen = !markdownSpace(code) + return code === 92 ? labelEscape : labelInside + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | [a\*a] + * ^ + * ``` + * + * @type {State} + */ + function labelEscape(code) { + if (code === 91 || code === 92 || code === 93) { + effects.consume(code) + size++ + return labelInside + } + return labelInside(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/package.json new file mode 100644 index 0000000000..f6aad00477 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@1.1.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-factory-label", + "version": "1.1.0", + "description": "micromark factory to parse labels (found in media, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "label" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/index.js new file mode 100644 index 0000000000..b3d49e724f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/index.js @@ -0,0 +1,159 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** + * Parse labels. + * + * > 👉 **Note**: labels in markdown are capped at 999 characters in the string. + * + * ###### Examples + * + * ```markdown + * [a] + * [a + * b] + * [a\]b] + * ``` + * + * @this {TokenizeContext} + * Tokenize context. + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type of the whole label (`[a]`). + * @param {TokenType} markerType + * Type for the markers (`[` and `]`). + * @param {TokenType} stringType + * Type for the identifier (`a`). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryLabel(effects, ok, nok, type, markerType, stringType) { + const self = this + let size = 0 + /** @type {boolean} */ + let seen + return start + + /** + * Start of label. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.enter(stringType) + return atBreak + } + + /** + * In label, at something, before something else. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if ( + size > 999 || + code === null || + code === 91 || + (code === 93 && !seen) || + // To do: remove in the future once we’ve switched from + // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`, + // which doesn’t need this. + // Hidden footnotes hook. + /* c8 ignore next 3 */ + (code === 94 && + !size && + '_hiddenFootnoteSupport' in self.parser.constructs) + ) { + return nok(code) + } + if (code === 93) { + effects.exit(stringType) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + // To do: indent? Link chunks and EOLs together? + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return atBreak + } + effects.enter('chunkString', { + contentType: 'string' + }) + return labelInside(code) + } + + /** + * In label, in text. + * + * ```markdown + * > | [a] + * ^ + * ``` + * + * @type {State} + */ + function labelInside(code) { + if ( + code === null || + code === 91 || + code === 93 || + markdownLineEnding(code) || + size++ > 999 + ) { + effects.exit('chunkString') + return atBreak(code) + } + effects.consume(code) + if (!seen) seen = !markdownSpace(code) + return code === 92 ? labelEscape : labelInside + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | [a\*a] + * ^ + * ``` + * + * @type {State} + */ + function labelEscape(code) { + if (code === 91 || code === 92 || code === 93) { + effects.consume(code) + size++ + return labelInside + } + return labelInside(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/package.json new file mode 100644 index 0000000000..9e788651c1 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-label@2.0.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-factory-label", + "version": "2.0.0", + "description": "micromark factory to parse labels (found in media, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "label" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/index.js new file mode 100644 index 0000000000..21a26063b4 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/index.js @@ -0,0 +1,66 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {markdownSpace} from 'micromark-util-character' + +// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`. + +/** + * Parse spaces and tabs. + * + * There is no `nok` parameter: + * + * * spaces in markdown are often optional, in which case this factory can be + * used and `ok` will be switched to whether spaces were found or not + * * one line ending or space can be detected with `markdownSpace(code)` right + * before using `factorySpace` + * + * ###### Examples + * + * Where `␉` represents a tab (plus how much it expands) and `␠` represents a + * single space. + * + * ```markdown + * ␉ + * ␠␠␠␠ + * ␉␠ + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {TokenType} type + * Type (`' \t'`). + * @param {number | undefined} [max=Infinity] + * Max (exclusive). + * @returns + * Start state. + */ +export function factorySpace(effects, ok, type, max) { + const limit = max ? max - 1 : Number.POSITIVE_INFINITY + let size = 0 + return start + + /** @type {State} */ + function start(code) { + if (markdownSpace(code)) { + effects.enter(type) + return prefix(code) + } + return ok(code) + } + + /** @type {State} */ + function prefix(code) { + if (markdownSpace(code) && size++ < limit) { + effects.consume(code) + return prefix + } + effects.exit(type) + return ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/package.json new file mode 100644 index 0000000000..00d3c5643b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@1.1.0/package.json @@ -0,0 +1,55 @@ +{ + "name": "micromark-factory-space", + "version": "1.1.0", + "description": "micromark factory to parse markdown space (found in lots of places)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "space" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/index.js new file mode 100644 index 0000000000..5e76966407 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/index.js @@ -0,0 +1,66 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {markdownSpace} from 'micromark-util-character' + +// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`. + +/** + * Parse spaces and tabs. + * + * There is no `nok` parameter: + * + * * spaces in markdown are often optional, in which case this factory can be + * used and `ok` will be switched to whether spaces were found or not + * * one line ending or space can be detected with `markdownSpace(code)` right + * before using `factorySpace` + * + * ###### Examples + * + * Where `␉` represents a tab (plus how much it expands) and `␠` represents a + * single space. + * + * ```markdown + * ␉ + * ␠␠␠␠ + * ␉␠ + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {TokenType} type + * Type (`' \t'`). + * @param {number | undefined} [max=Infinity] + * Max (exclusive). + * @returns {State} + * Start state. + */ +export function factorySpace(effects, ok, type, max) { + const limit = max ? max - 1 : Number.POSITIVE_INFINITY + let size = 0 + return start + + /** @type {State} */ + function start(code) { + if (markdownSpace(code)) { + effects.enter(type) + return prefix(code) + } + return ok(code) + } + + /** @type {State} */ + function prefix(code) { + if (markdownSpace(code) && size++ < limit) { + effects.consume(code) + return prefix + } + effects.exit(type) + return ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/package.json new file mode 100644 index 0000000000..62c8d39dfc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-space@2.0.0/package.json @@ -0,0 +1,46 @@ +{ + "name": "micromark-factory-space", + "version": "2.0.0", + "description": "micromark factory to parse markdown space (found in lots of places)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "space" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/index.js new file mode 100644 index 0000000000..ce2d22b3dc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/index.js @@ -0,0 +1,156 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** + * Parse titles. + * + * ###### Examples + * + * ```markdown + * "a" + * 'b' + * (c) + * "a + * b" + * 'a + * b' + * (a\)b) + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type of the whole title (`"a"`, `'b'`, `(c)`). + * @param {TokenType} markerType + * Type for the markers (`"`, `'`, `(`, and `)`). + * @param {TokenType} stringType + * Type for the value (`a`). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryTitle(effects, ok, nok, type, markerType, stringType) { + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of title. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 34 || code === 39 || code === 40) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + marker = code === 40 ? 41 : code + return begin + } + return nok(code) + } + + /** + * After opening marker. + * + * This is also used at the closing marker. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function begin(code) { + if (code === marker) { + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + effects.enter(stringType) + return atBreak(code) + } + + /** + * At something, before something else. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === marker) { + effects.exit(stringType) + return begin(marker) + } + if (code === null) { + return nok(code) + } + + // Note: blank lines can’t exist in content. + if (markdownLineEnding(code)) { + // To do: use `space_or_tab_eol_with_options`, connect. + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, atBreak, 'linePrefix') + } + effects.enter('chunkString', { + contentType: 'string' + }) + return inside(code) + } + + /** + * + * + * @type {State} + */ + function inside(code) { + if (code === marker || code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + return atBreak(code) + } + effects.consume(code) + return code === 92 ? escape : inside + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | "a\*b" + * ^ + * ``` + * + * @type {State} + */ + function escape(code) { + if (code === marker || code === 92) { + effects.consume(code) + return inside + } + return inside(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..784a9eaf4b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/package.json new file mode 100644 index 0000000000..0dfc07108d --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@1.1.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-factory-title", + "version": "1.1.0", + "description": "micromark factory to parse markdown titles (found in resources, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "title" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/index.js new file mode 100644 index 0000000000..ce2d22b3dc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/index.js @@ -0,0 +1,156 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenType} TokenType + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** + * Parse titles. + * + * ###### Examples + * + * ```markdown + * "a" + * 'b' + * (c) + * "a + * b" + * 'a + * b' + * (a\)b) + * ``` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @param {State} nok + * State switched to when unsuccessful. + * @param {TokenType} type + * Type of the whole title (`"a"`, `'b'`, `(c)`). + * @param {TokenType} markerType + * Type for the markers (`"`, `'`, `(`, and `)`). + * @param {TokenType} stringType + * Type for the value (`a`). + * @returns {State} + * Start state. + */ // eslint-disable-next-line max-params +export function factoryTitle(effects, ok, nok, type, markerType, stringType) { + /** @type {NonNullable} */ + let marker + return start + + /** + * Start of title. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if (code === 34 || code === 39 || code === 40) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + marker = code === 40 ? 41 : code + return begin + } + return nok(code) + } + + /** + * After opening marker. + * + * This is also used at the closing marker. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function begin(code) { + if (code === marker) { + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + effects.enter(stringType) + return atBreak(code) + } + + /** + * At something, before something else. + * + * ```markdown + * > | "a" + * ^ + * ``` + * + * @type {State} + */ + function atBreak(code) { + if (code === marker) { + effects.exit(stringType) + return begin(marker) + } + if (code === null) { + return nok(code) + } + + // Note: blank lines can’t exist in content. + if (markdownLineEnding(code)) { + // To do: use `space_or_tab_eol_with_options`, connect. + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, atBreak, 'linePrefix') + } + effects.enter('chunkString', { + contentType: 'string' + }) + return inside(code) + } + + /** + * + * + * @type {State} + */ + function inside(code) { + if (code === marker || code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + return atBreak(code) + } + effects.consume(code) + return code === 92 ? escape : inside + } + + /** + * After `\`, at a special character. + * + * ```markdown + * > | "a\*b" + * ^ + * ``` + * + * @type {State} + */ + function escape(code) { + if (code === marker || code === 92) { + effects.consume(code) + return inside + } + return inside(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..feabb78ef7 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/package.json new file mode 100644 index 0000000000..78c3f242e6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-title@2.0.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-factory-title", + "version": "2.0.0", + "description": "micromark factory to parse markdown titles (found in resources, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "title" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "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" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/index.js new file mode 100644 index 0000000000..94bc3da908 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/index.js @@ -0,0 +1,49 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** + * Parse spaces and tabs. + * + * There is no `nok` parameter: + * + * * line endings or spaces in markdown are often optional, in which case this + * factory can be used and `ok` will be switched to whether spaces were found + * or not + * * one line ending or space can be detected with + * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @returns + * Start state. + */ +export function factoryWhitespace(effects, ok) { + /** @type {boolean} */ + let seen + return start + + /** @type {State} */ + function start(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + seen = true + return start + } + if (markdownSpace(code)) { + return factorySpace( + effects, + start, + seen ? 'linePrefix' : 'lineSuffix' + )(code) + } + return ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..784a9eaf4b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/package.json new file mode 100644 index 0000000000..22d4c59f2f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@1.1.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-factory-whitespace", + "version": "1.1.0", + "description": "micromark factory to parse markdown whitespace (found in lots of places)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "whitespace" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/index.js new file mode 100644 index 0000000000..96e71648c3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/index.js @@ -0,0 +1,49 @@ +/** + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').State} State + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding, markdownSpace} from 'micromark-util-character' +/** + * Parse spaces and tabs. + * + * There is no `nok` parameter: + * + * * line endings or spaces in markdown are often optional, in which case this + * factory can be used and `ok` will be switched to whether spaces were found + * or not + * * one line ending or space can be detected with + * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace` + * + * @param {Effects} effects + * Context. + * @param {State} ok + * State switched to when successful. + * @returns {State} + * Start state. + */ +export function factoryWhitespace(effects, ok) { + /** @type {boolean} */ + let seen + return start + + /** @type {State} */ + function start(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + seen = true + return start + } + if (markdownSpace(code)) { + return factorySpace( + effects, + start, + seen ? 'linePrefix' : 'lineSuffix' + )(code) + } + return ok(code) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..feabb78ef7 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/package.json new file mode 100644 index 0000000000..32c0c2e54a --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-factory-whitespace@2.0.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-factory-whitespace", + "version": "2.0.0", + "description": "micromark factory to parse markdown whitespace (found in lots of places)", + "license": "MIT", + "keywords": [ + "micromark", + "factory", + "whitespace" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "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" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/index.js b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/index.js new file mode 100644 index 0000000000..a0ce731da5 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/index.js @@ -0,0 +1,246 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + */ + +import {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js' + +/** + * Check whether the character code represents an ASCII alpha (`a` through `z`, + * case insensitive). + * + * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha. + * + * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`) + * to U+005A (`Z`). + * + * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`) + * to U+007A (`z`). + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiAlpha = regexCheck(/[A-Za-z]/) + +/** + * Check whether the character code represents an ASCII alphanumeric (`a` + * through `z`, case insensitive, or `0` through `9`). + * + * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha + * (see `asciiAlpha`). + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/) + +/** + * Check whether the character code represents an ASCII atext. + * + * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in + * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`), + * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F + * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E + * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE + * (`{`) to U+007E TILDE (`~`). + * + * See: + * **\[RFC5322]**: + * [Internet Message Format](https://tools.ietf.org/html/rfc5322). + * P. Resnick. + * IETF. + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/) + +/** + * Check whether a character code is an ASCII control character. + * + * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL) + * to U+001F (US), or U+007F (DEL). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function asciiControl(code) { + return ( + // Special whitespace codes (which have negative values), C0 and Control + // character DEL + code !== null && (code < 32 || code === 127) + ) +} + +/** + * Check whether the character code represents an ASCII digit (`0` through `9`). + * + * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to + * U+0039 (`9`). + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiDigit = regexCheck(/\d/) + +/** + * Check whether the character code represents an ASCII hex digit (`a` through + * `f`, case insensitive, or `0` through `9`). + * + * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex + * digit, or an ASCII lower hex digit. + * + * An **ASCII upper hex digit** is a character in the inclusive range U+0041 + * (`A`) to U+0046 (`F`). + * + * An **ASCII lower hex digit** is a character in the inclusive range U+0061 + * (`a`) to U+0066 (`f`). + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiHexDigit = regexCheck(/[\dA-Fa-f]/) + +/** + * Check whether the character code represents ASCII punctuation. + * + * An **ASCII punctuation** is a character in the inclusive ranges U+0021 + * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT + * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT + * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`). + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/) + +/** + * Check whether a character code is a markdown line ending. + * + * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN + * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR). + * + * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE + * RETURN (CR) are replaced by these virtual characters depending on whether + * they occurred together. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEnding(code) { + return code !== null && code < -2 +} + +/** + * Check whether a character code is a markdown line ending (see + * `markdownLineEnding`) or markdown space (see `markdownSpace`). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEndingOrSpace(code) { + return code !== null && (code < 0 || code === 32) +} + +/** + * Check whether a character code is a markdown space. + * + * A **markdown space** is the concrete character U+0020 SPACE (SP) and the + * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT). + * + * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is + * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL + * SPACE (VS) characters, depending on the column at which the tab occurred. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownSpace(code) { + return code === -2 || code === -1 || code === 32 +} + +// Size note: removing ASCII from the regex and using `asciiPunctuation` here +// In fact adds to the bundle size. +/** + * Check whether the character code represents Unicode punctuation. + * + * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation, + * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf` + * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po` + * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII + * punctuation (see `asciiPunctuation`). + * + * See: + * **\[UNICODE]**: + * [The Unicode Standard](https://www.unicode.org/versions/). + * Unicode Consortium. + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const unicodePunctuation = regexCheck(unicodePunctuationRegex) + +/** + * Check whether the character code represents Unicode whitespace. + * + * Note that this does handle micromark specific markdown whitespace characters. + * See `markdownLineEndingOrSpace` to check that. + * + * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator, + * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF), + * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\[UNICODE]**). + * + * See: + * **\[UNICODE]**: + * [The Unicode Standard](https://www.unicode.org/versions/). + * Unicode Consortium. + * + * @param code + * Code. + * @returns + * Whether it matches. + */ +export const unicodeWhitespace = regexCheck(/\s/) + +/** + * Create a code check from a regex. + * + * @param {RegExp} regex + * @returns {(code: Code) => boolean} + */ +function regexCheck(regex) { + return check + + /** + * Check whether a code matches the bound regex. + * + * @param {Code} code + * Character code. + * @returns {boolean} + * Whether the character code matches the bound regex. + */ + function check(code) { + return code !== null && regex.test(String.fromCharCode(code)) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/lib/unicode-punctuation-regex.js b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/lib/unicode-punctuation-regex.js new file mode 100644 index 0000000000..cd57fbeb94 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/lib/unicode-punctuation-regex.js @@ -0,0 +1,12 @@ +// This module is generated by `script/`. +// +// CommonMark handles attention (emphasis, strong) markers based on what comes +// before or after them. +// One such difference is if those characters are Unicode punctuation. +// This script is generated from the Unicode data. + +/** + * Regular expression that matches a unicode punctuation character. + */ +export const unicodePunctuationRegex = + /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/ diff --git a/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/package.json b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/package.json new file mode 100644 index 0000000000..a0d07256ca --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-character@1.2.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-util-character", + "version": "1.2.0", + "description": "micromark utility to handle character codes", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "character" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-character", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/index.js b/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/index.js new file mode 100644 index 0000000000..5f40d0a87f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/index.js @@ -0,0 +1,248 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + */ + +const unicodePunctuationInternal = regexCheck(/\p{P}/u) + +/** + * Check whether the character code represents an ASCII alpha (`a` through `z`, + * case insensitive). + * + * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha. + * + * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`) + * to U+005A (`Z`). + * + * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`) + * to U+007A (`z`). + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiAlpha = regexCheck(/[A-Za-z]/) + +/** + * Check whether the character code represents an ASCII alphanumeric (`a` + * through `z`, case insensitive, or `0` through `9`). + * + * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha + * (see `asciiAlpha`). + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/) + +/** + * Check whether the character code represents an ASCII atext. + * + * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in + * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`), + * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F + * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E + * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE + * (`{`) to U+007E TILDE (`~`). + * + * See: + * **\[RFC5322]**: + * [Internet Message Format](https://tools.ietf.org/html/rfc5322). + * P. Resnick. + * IETF. + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/) + +/** + * Check whether a character code is an ASCII control character. + * + * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL) + * to U+001F (US), or U+007F (DEL). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function asciiControl(code) { + return ( + // Special whitespace codes (which have negative values), C0 and Control + // character DEL + code !== null && (code < 32 || code === 127) + ) +} + +/** + * Check whether the character code represents an ASCII digit (`0` through `9`). + * + * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to + * U+0039 (`9`). + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiDigit = regexCheck(/\d/) + +/** + * Check whether the character code represents an ASCII hex digit (`a` through + * `f`, case insensitive, or `0` through `9`). + * + * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex + * digit, or an ASCII lower hex digit. + * + * An **ASCII upper hex digit** is a character in the inclusive range U+0041 + * (`A`) to U+0046 (`F`). + * + * An **ASCII lower hex digit** is a character in the inclusive range U+0061 + * (`a`) to U+0066 (`f`). + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiHexDigit = regexCheck(/[\dA-Fa-f]/) + +/** + * Check whether the character code represents ASCII punctuation. + * + * An **ASCII punctuation** is a character in the inclusive ranges U+0021 + * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT + * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT + * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`). + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/) + +/** + * Check whether a character code is a markdown line ending. + * + * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN + * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR). + * + * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE + * RETURN (CR) are replaced by these virtual characters depending on whether + * they occurred together. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEnding(code) { + return code !== null && code < -2 +} + +/** + * Check whether a character code is a markdown line ending (see + * `markdownLineEnding`) or markdown space (see `markdownSpace`). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEndingOrSpace(code) { + return code !== null && (code < 0 || code === 32) +} + +/** + * Check whether a character code is a markdown space. + * + * A **markdown space** is the concrete character U+0020 SPACE (SP) and the + * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT). + * + * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is + * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL + * SPACE (VS) characters, depending on the column at which the tab occurred. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownSpace(code) { + return code === -2 || code === -1 || code === 32 +} + +// Size note: removing ASCII from the regex and using `asciiPunctuation` here +// In fact adds to the bundle size. +/** + * Check whether the character code represents Unicode punctuation. + * + * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation, + * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf` + * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po` + * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII + * punctuation (see `asciiPunctuation`). + * + * See: + * **\[UNICODE]**: + * [The Unicode Standard](https://www.unicode.org/versions/). + * Unicode Consortium. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function unicodePunctuation(code) { + return asciiPunctuation(code) || unicodePunctuationInternal(code) +} + +/** + * Check whether the character code represents Unicode whitespace. + * + * Note that this does handle micromark specific markdown whitespace characters. + * See `markdownLineEndingOrSpace` to check that. + * + * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator, + * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF), + * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\[UNICODE]**). + * + * See: + * **\[UNICODE]**: + * [The Unicode Standard](https://www.unicode.org/versions/). + * Unicode Consortium. + * + * @param code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export const unicodeWhitespace = regexCheck(/\s/) + +/** + * Create a code check from a regex. + * + * @param {RegExp} regex + * @returns {(code: Code) => boolean} + */ +function regexCheck(regex) { + return check + + /** + * Check whether a code matches the bound regex. + * + * @param {Code} code + * Character code. + * @returns {boolean} + * Whether the character code matches the bound regex. + */ + function check(code) { + return code !== null && code > -1 && regex.test(String.fromCharCode(code)) + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/package.json b/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/package.json new file mode 100644 index 0000000000..9b996b6f8e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-character@2.0.1/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-util-character", + "version": "2.0.1", + "description": "micromark utility to handle character codes", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "character" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-character", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/index.js new file mode 100644 index 0000000000..6b23c733fb --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/index.js @@ -0,0 +1,81 @@ +/** + * Like `Array#splice`, but smarter for giant arrays. + * + * `Array#splice` takes all items to be inserted as individual argument which + * causes a stack overflow in V8 when trying to insert 100k items for instance. + * + * Otherwise, this does not return the removed items, and takes `items` as an + * array instead of rest parameters. + * + * @template {unknown} T + * Item type. + * @param {Array} list + * List to operate on. + * @param {number} start + * Index to remove/insert at (can be negative). + * @param {number} remove + * Number of items to remove. + * @param {Array} items + * Items to inject into `list`. + * @returns {void} + * Nothing. + */ +export function splice(list, start, remove, items) { + const end = list.length + let chunkStart = 0 + /** @type {Array} */ + let parameters + + // Make start between zero and `end` (included). + if (start < 0) { + start = -start > end ? 0 : end + start + } else { + start = start > end ? end : start + } + remove = remove > 0 ? remove : 0 + + // No need to chunk the items if there’s only a couple (10k) items. + if (items.length < 10000) { + parameters = Array.from(items) + parameters.unshift(start, remove) + // @ts-expect-error Hush, it’s fine. + list.splice(...parameters) + } else { + // Delete `remove` items starting from `start` + if (remove) list.splice(start, remove) + + // Insert the items in chunks to not cause stack overflows. + while (chunkStart < items.length) { + parameters = items.slice(chunkStart, chunkStart + 10000) + parameters.unshift(start, 0) + // @ts-expect-error Hush, it’s fine. + list.splice(...parameters) + chunkStart += 10000 + start += 10000 + } + } +} + +/** + * Append `items` (an array) at the end of `list` (another array). + * When `list` was empty, returns `items` instead. + * + * This prevents a potentially expensive operation when `list` is empty, + * and adds items in batches to prevent V8 from hanging. + * + * @template {unknown} T + * Item type. + * @param {Array} list + * List to operate on. + * @param {Array} items + * Items to add to `list`. + * @returns {Array} + * Either `list` or `items`. + */ +export function push(list, items) { + if (list.length > 0) { + splice(list, list.length, 0, items) + return list + } + return items +} diff --git a/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/package.json new file mode 100644 index 0000000000..f639d660c7 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-chunked@1.1.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-util-chunked", + "version": "1.1.0", + "description": "micromark utility to splice and push with giant arrays", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "chunk", + "splice", + "push" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/index.js new file mode 100644 index 0000000000..fb4b00a46a --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/index.js @@ -0,0 +1,81 @@ +/** + * Like `Array#splice`, but smarter for giant arrays. + * + * `Array#splice` takes all items to be inserted as individual argument which + * causes a stack overflow in V8 when trying to insert 100k items for instance. + * + * Otherwise, this does not return the removed items, and takes `items` as an + * array instead of rest parameters. + * + * @template {unknown} T + * Item type. + * @param {Array} list + * List to operate on. + * @param {number} start + * Index to remove/insert at (can be negative). + * @param {number} remove + * Number of items to remove. + * @param {Array} items + * Items to inject into `list`. + * @returns {undefined} + * Nothing. + */ +export function splice(list, start, remove, items) { + const end = list.length + let chunkStart = 0 + /** @type {Array} */ + let parameters + + // Make start between zero and `end` (included). + if (start < 0) { + start = -start > end ? 0 : end + start + } else { + start = start > end ? end : start + } + remove = remove > 0 ? remove : 0 + + // No need to chunk the items if there’s only a couple (10k) items. + if (items.length < 10000) { + parameters = Array.from(items) + parameters.unshift(start, remove) + // @ts-expect-error Hush, it’s fine. + list.splice(...parameters) + } else { + // Delete `remove` items starting from `start` + if (remove) list.splice(start, remove) + + // Insert the items in chunks to not cause stack overflows. + while (chunkStart < items.length) { + parameters = items.slice(chunkStart, chunkStart + 10000) + parameters.unshift(start, 0) + // @ts-expect-error Hush, it’s fine. + list.splice(...parameters) + chunkStart += 10000 + start += 10000 + } + } +} + +/** + * Append `items` (an array) at the end of `list` (another array). + * When `list` was empty, returns `items` instead. + * + * This prevents a potentially expensive operation when `list` is empty, + * and adds items in batches to prevent V8 from hanging. + * + * @template {unknown} T + * Item type. + * @param {Array} list + * List to operate on. + * @param {Array} items + * Items to add to `list`. + * @returns {Array} + * Either `list` or `items`. + */ +export function push(list, items) { + if (list.length > 0) { + splice(list, list.length, 0, items) + return list + } + return items +} diff --git a/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/package.json new file mode 100644 index 0000000000..afa8bd71e1 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-chunked@2.0.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-util-chunked", + "version": "2.0.0", + "description": "micromark utility to splice and push with giant arrays", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "chunk", + "splice", + "push" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/index.js new file mode 100644 index 0000000000..6cbb765893 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/index.js @@ -0,0 +1,35 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + */ + +import { + markdownLineEndingOrSpace, + unicodePunctuation, + unicodeWhitespace +} from 'micromark-util-character' +/** + * Classify whether a code represents whitespace, punctuation, or something + * else. + * + * Used for attention (emphasis, strong), whose sequences can open or close + * based on the class of surrounding characters. + * + * > 👉 **Note**: eof (`null`) is seen as whitespace. + * + * @param {Code} code + * Code. + * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined} + * Group. + */ +export function classifyCharacter(code) { + if ( + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return 1 + } + if (unicodePunctuation(code)) { + return 2 + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/package.json new file mode 100644 index 0000000000..f5127721cf --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@1.1.0/package.json @@ -0,0 +1,59 @@ +{ + "name": "micromark-util-classify-character", + "version": "1.1.0", + "description": "micromark utility to classify whether a character is whitespace or punctuation", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "attention", + "classify", + "character" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/index.js new file mode 100644 index 0000000000..6cbb765893 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/index.js @@ -0,0 +1,35 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + */ + +import { + markdownLineEndingOrSpace, + unicodePunctuation, + unicodeWhitespace +} from 'micromark-util-character' +/** + * Classify whether a code represents whitespace, punctuation, or something + * else. + * + * Used for attention (emphasis, strong), whose sequences can open or close + * based on the class of surrounding characters. + * + * > 👉 **Note**: eof (`null`) is seen as whitespace. + * + * @param {Code} code + * Code. + * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined} + * Group. + */ +export function classifyCharacter(code) { + if ( + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return 1 + } + if (unicodePunctuation(code)) { + return 2 + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/package.json new file mode 100644 index 0000000000..e0c468077c --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-classify-character@2.0.0/package.json @@ -0,0 +1,50 @@ +{ + "name": "micromark-util-classify-character", + "version": "2.0.0", + "description": "micromark utility to classify whether a character is whitespace or punctuation", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "attention", + "classify", + "character" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/index.js new file mode 100644 index 0000000000..5f93bc263f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/index.js @@ -0,0 +1,136 @@ +/** + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Handles} Handles + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension + */ + +import {splice} from 'micromark-util-chunked' + +const hasOwnProperty = {}.hasOwnProperty + +/** + * Combine multiple syntax extensions into one. + * + * @param {Array} extensions + * List of syntax extensions. + * @returns {NormalizedExtension} + * A single combined extension. + */ +export function combineExtensions(extensions) { + /** @type {NormalizedExtension} */ + const all = {} + let index = -1 + + while (++index < extensions.length) { + syntaxExtension(all, extensions[index]) + } + + return all +} + +/** + * Merge `extension` into `all`. + * + * @param {NormalizedExtension} all + * Extension to merge into. + * @param {Extension} extension + * Extension to merge. + * @returns {void} + */ +function syntaxExtension(all, extension) { + /** @type {keyof Extension} */ + let hook + + for (hook in extension) { + const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined + /** @type {Record} */ + const left = maybe || (all[hook] = {}) + /** @type {Record | undefined} */ + const right = extension[hook] + /** @type {string} */ + let code + + if (right) { + for (code in right) { + if (!hasOwnProperty.call(left, code)) left[code] = [] + const value = right[code] + constructs( + // @ts-expect-error Looks like a list. + left[code], + Array.isArray(value) ? value : value ? [value] : [] + ) + } + } + } +} + +/** + * Merge `list` into `existing` (both lists of constructs). + * Mutates `existing`. + * + * @param {Array} existing + * @param {Array} list + * @returns {void} + */ +function constructs(existing, list) { + let index = -1 + /** @type {Array} */ + const before = [] + + while (++index < list.length) { + // @ts-expect-error Looks like an object. + ;(list[index].add === 'after' ? existing : before).push(list[index]) + } + + splice(existing, 0, 0, before) +} + +/** + * Combine multiple HTML extensions into one. + * + * @param {Array} htmlExtensions + * List of HTML extensions. + * @returns {HtmlExtension} + * A single combined HTML extension. + */ +export function combineHtmlExtensions(htmlExtensions) { + /** @type {HtmlExtension} */ + const handlers = {} + let index = -1 + + while (++index < htmlExtensions.length) { + htmlExtension(handlers, htmlExtensions[index]) + } + + return handlers +} + +/** + * Merge `extension` into `all`. + * + * @param {HtmlExtension} all + * Extension to merge into. + * @param {HtmlExtension} extension + * Extension to merge. + * @returns {void} + */ +function htmlExtension(all, extension) { + /** @type {keyof HtmlExtension} */ + let hook + + for (hook in extension) { + const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined + const left = maybe || (all[hook] = {}) + const right = extension[hook] + /** @type {keyof Handles} */ + let type + + if (right) { + for (type in right) { + // @ts-expect-error assume document vs regular handler are managed correctly. + left[type] = right[type] + } + } + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..7449f9d875 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/package.json new file mode 100644 index 0000000000..f637527fbb --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@1.1.0/package.json @@ -0,0 +1,51 @@ +{ + "name": "micromark-util-combine-extensions", + "version": "1.1.0", + "description": "micromark utility to combine syntax or html extensions", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "extension", + "combine", + "merge" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "scripts": {}, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/index.js new file mode 100644 index 0000000000..8435ab69aa --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/index.js @@ -0,0 +1,136 @@ +/** + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Handles} Handles + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension + */ + +import {splice} from 'micromark-util-chunked' + +const hasOwnProperty = {}.hasOwnProperty + +/** + * Combine multiple syntax extensions into one. + * + * @param {Array} extensions + * List of syntax extensions. + * @returns {NormalizedExtension} + * A single combined extension. + */ +export function combineExtensions(extensions) { + /** @type {NormalizedExtension} */ + const all = {} + let index = -1 + + while (++index < extensions.length) { + syntaxExtension(all, extensions[index]) + } + + return all +} + +/** + * Merge `extension` into `all`. + * + * @param {NormalizedExtension} all + * Extension to merge into. + * @param {Extension} extension + * Extension to merge. + * @returns {undefined} + */ +function syntaxExtension(all, extension) { + /** @type {keyof Extension} */ + let hook + + for (hook in extension) { + const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined + /** @type {Record} */ + const left = maybe || (all[hook] = {}) + /** @type {Record | undefined} */ + const right = extension[hook] + /** @type {string} */ + let code + + if (right) { + for (code in right) { + if (!hasOwnProperty.call(left, code)) left[code] = [] + const value = right[code] + constructs( + // @ts-expect-error Looks like a list. + left[code], + Array.isArray(value) ? value : value ? [value] : [] + ) + } + } + } +} + +/** + * Merge `list` into `existing` (both lists of constructs). + * Mutates `existing`. + * + * @param {Array} existing + * @param {Array} list + * @returns {undefined} + */ +function constructs(existing, list) { + let index = -1 + /** @type {Array} */ + const before = [] + + while (++index < list.length) { + // @ts-expect-error Looks like an object. + ;(list[index].add === 'after' ? existing : before).push(list[index]) + } + + splice(existing, 0, 0, before) +} + +/** + * Combine multiple HTML extensions into one. + * + * @param {Array} htmlExtensions + * List of HTML extensions. + * @returns {HtmlExtension} + * A single combined HTML extension. + */ +export function combineHtmlExtensions(htmlExtensions) { + /** @type {HtmlExtension} */ + const handlers = {} + let index = -1 + + while (++index < htmlExtensions.length) { + htmlExtension(handlers, htmlExtensions[index]) + } + + return handlers +} + +/** + * Merge `extension` into `all`. + * + * @param {HtmlExtension} all + * Extension to merge into. + * @param {HtmlExtension} extension + * Extension to merge. + * @returns {undefined} + */ +function htmlExtension(all, extension) { + /** @type {keyof HtmlExtension} */ + let hook + + for (hook in extension) { + const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined + const left = maybe || (all[hook] = {}) + const right = extension[hook] + /** @type {keyof Handles} */ + let type + + if (right) { + for (type in right) { + // @ts-expect-error assume document vs regular handler are managed correctly. + left[type] = right[type] + } + } + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..867c7e91ff --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/package.json new file mode 100644 index 0000000000..82ad14b12a --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-combine-extensions@2.0.0/package.json @@ -0,0 +1,42 @@ +{ + "name": "micromark-util-combine-extensions", + "version": "2.0.0", + "description": "micromark utility to combine syntax or html extensions", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "extension", + "combine", + "merge" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/index.js new file mode 100644 index 0000000000..e9fa3c9c86 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/index.js @@ -0,0 +1,36 @@ +/** + * Turn the number (in string form as either hexa- or plain decimal) coming from + * a numeric character reference into a character. + * + * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes + * non-characters and control characters safe. + * + * @param {string} value + * Value to decode. + * @param {number} base + * Numeric base. + * @returns {string} + * Character. + */ +export function decodeNumericCharacterReference(value, base) { + const code = Number.parseInt(value, base) + if ( + // C0 except for HT, LF, FF, CR, space. + code < 9 || + code === 11 || + (code > 13 && code < 32) || + // Control character (DEL) of C0, and C1 controls. + (code > 126 && code < 160) || + // Lone high surrogates and low surrogates. + (code > 55295 && code < 57344) || + // Noncharacters. + (code > 64975 && code < 65008) /* eslint-disable no-bitwise */ || + (code & 65535) === 65535 || + (code & 65535) === 65534 /* eslint-enable no-bitwise */ || + // Out of range + code > 1114111 + ) { + return '\uFFFD' + } + return String.fromCharCode(code) +} diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/package.json new file mode 100644 index 0000000000..cef1bf6af0 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@1.1.0/package.json @@ -0,0 +1,59 @@ +{ + "name": "micromark-util-decode-numeric-character-reference", + "version": "1.1.0", + "description": "micromark utility to decode numeric character references", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "decode", + "numeric", + "number", + "character", + "reference" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/index.js b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/index.js new file mode 100644 index 0000000000..1d75d7ba5c --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/index.js @@ -0,0 +1,32 @@ +/** + * Turn the number (in string form as either hexa- or plain decimal) coming from + * a numeric character reference into a character. + * + * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes + * non-characters and control characters safe. + * + * @param {string} value + * Value to decode. + * @param {number} base + * Numeric base. + * @returns {string} + * Character. + */ +export function decodeNumericCharacterReference(value, base) { + const code = Number.parseInt(value, base); + if ( + // C0 except for HT, LF, FF, CR, space. + code < 9 || code === 11 || code > 13 && code < 32 || + // Control character (DEL) of C0, and C1 controls. + code > 126 && code < 160 || + // Lone high surrogates and low surrogates. + code > 55_295 && code < 57_344 || + // Noncharacters. + code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */ + (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */ + // Out of range + code > 1_114_111) { + return "\uFFFD"; + } + return String.fromCodePoint(code); +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/package.json b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/package.json new file mode 100644 index 0000000000..a6396ff311 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-numeric-character-reference@2.0.1/package.json @@ -0,0 +1,58 @@ +{ + "name": "micromark-util-decode-numeric-character-reference", + "version": "2.0.1", + "description": "micromark utility to decode numeric character references", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "decode", + "numeric", + "number", + "character", + "reference" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": { + "envs": [ + "shared-node-browser" + ], + "prettier": true, + "rules": { + "unicorn/prefer-code-point": "off" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/index.js new file mode 100644 index 0000000000..d5c96d7d47 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/index.js @@ -0,0 +1,42 @@ +import {decodeNamedCharacterReference} from 'decode-named-character-reference' +import {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference' +const characterEscapeOrReference = + /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi + +/** + * Decode markdown strings (which occur in places such as fenced code info + * strings, destinations, labels, and titles). + * + * The “string” content type allows character escapes and -references. + * This decodes those. + * + * @param {string} value + * Value to decode. + * @returns {string} + * Decoded value. + */ +export function decodeString(value) { + return value.replace(characterEscapeOrReference, decode) +} + +/** + * @param {string} $0 + * @param {string} $1 + * @param {string} $2 + * @returns {string} + */ +function decode($0, $1, $2) { + if ($1) { + // Escape. + return $1 + } + + // Reference. + const head = $2.charCodeAt(0) + if (head === 35) { + const head = $2.charCodeAt(1) + const hex = head === 120 || head === 88 + return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10) + } + return decodeNamedCharacterReference($2) || $0 +} diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/node_modules/micromark-util-decode-numeric-character-reference b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/node_modules/micromark-util-decode-numeric-character-reference new file mode 120000 index 0000000000..583e0123fc --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/node_modules/micromark-util-decode-numeric-character-reference @@ -0,0 +1 @@ +../../micromark-util-decode-numeric-character-reference@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/package.json new file mode 100644 index 0000000000..86db13a476 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@1.1.0/package.json @@ -0,0 +1,62 @@ +{ + "name": "micromark-util-decode-string", + "version": "1.1.0", + "description": "micromark utility to decode markdown strings", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "decode", + "character", + "reference", + "escape", + "string" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "decode-named-character-reference": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/index.js new file mode 100644 index 0000000000..d5c96d7d47 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/index.js @@ -0,0 +1,42 @@ +import {decodeNamedCharacterReference} from 'decode-named-character-reference' +import {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference' +const characterEscapeOrReference = + /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi + +/** + * Decode markdown strings (which occur in places such as fenced code info + * strings, destinations, labels, and titles). + * + * The “string” content type allows character escapes and -references. + * This decodes those. + * + * @param {string} value + * Value to decode. + * @returns {string} + * Decoded value. + */ +export function decodeString(value) { + return value.replace(characterEscapeOrReference, decode) +} + +/** + * @param {string} $0 + * @param {string} $1 + * @param {string} $2 + * @returns {string} + */ +function decode($0, $1, $2) { + if ($1) { + // Escape. + return $1 + } + + // Reference. + const head = $2.charCodeAt(0) + if (head === 35) { + const head = $2.charCodeAt(1) + const hex = head === 120 || head === 88 + return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10) + } + return decodeNamedCharacterReference($2) || $0 +} diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/node_modules/micromark-util-decode-numeric-character-reference b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/node_modules/micromark-util-decode-numeric-character-reference new file mode 120000 index 0000000000..9d4efbe677 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/node_modules/micromark-util-decode-numeric-character-reference @@ -0,0 +1 @@ +../../micromark-util-decode-numeric-character-reference@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/package.json new file mode 100644 index 0000000000..73d7194bdd --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-decode-string@2.0.0/package.json @@ -0,0 +1,53 @@ +{ + "name": "micromark-util-decode-string", + "version": "2.0.0", + "description": "micromark utility to decode markdown strings", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "decode", + "character", + "reference", + "escape", + "string" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "decode-named-character-reference": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/index.js new file mode 100644 index 0000000000..410a233f21 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/index.js @@ -0,0 +1,26 @@ +const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'} + +/** + * Encode only the dangerous HTML characters. + * + * This ensures that certain characters which have special meaning in HTML are + * dealt with. + * Technically, we can skip `>` and `"` in many cases, but CM includes them. + * + * @param {string} value + * Value to encode. + * @returns {string} + * Encoded value. + */ +export function encode(value) { + return value.replace(/["&<>]/g, replace) + + /** + * @param {string} value + * @returns {string} + */ + function replace(value) { + // @ts-expect-error Hush, it’s fine. + return '&' + characterReferences[value] + ';' + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/package.json new file mode 100644 index 0000000000..ab8903a240 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-encode@1.1.0/package.json @@ -0,0 +1,46 @@ +{ + "name": "micromark-util-encode", + "version": "1.1.0", + "description": "micromark utility to encode dangerous html characters", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "html", + "encode" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "scripts": {}, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/index.js new file mode 100644 index 0000000000..410a233f21 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/index.js @@ -0,0 +1,26 @@ +const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'} + +/** + * Encode only the dangerous HTML characters. + * + * This ensures that certain characters which have special meaning in HTML are + * dealt with. + * Technically, we can skip `>` and `"` in many cases, but CM includes them. + * + * @param {string} value + * Value to encode. + * @returns {string} + * Encoded value. + */ +export function encode(value) { + return value.replace(/["&<>]/g, replace) + + /** + * @param {string} value + * @returns {string} + */ + function replace(value) { + // @ts-expect-error Hush, it’s fine. + return '&' + characterReferences[value] + ';' + } +} diff --git a/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/package.json new file mode 100644 index 0000000000..7b67cf1fa4 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-encode@2.0.0/package.json @@ -0,0 +1,37 @@ +{ + "name": "micromark-util-encode", + "version": "2.0.0", + "description": "micromark utility to encode dangerous html characters", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "html", + "encode" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/index.js b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/index.js new file mode 100644 index 0000000000..fa0a0fd950 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/index.js @@ -0,0 +1,93 @@ +/** + * List of lowercase HTML “block” tag names. + * + * The list, when parsing HTML (flow), results in more relaxed rules (condition + * 6). + * Because they are known blocks, the HTML-like syntax doesn’t have to be + * strictly parsed. + * For tag names not in this list, a more strict algorithm (condition 7) is used + * to detect whether the HTML-like syntax is seen as HTML (flow) or not. + * + * This is copied from: + * . + * + * > 👉 **Note**: `search` was added in `CommonMark@0.31`. + */ +export const htmlBlockNames = [ + 'address', + 'article', + 'aside', + 'base', + 'basefont', + 'blockquote', + 'body', + 'caption', + 'center', + 'col', + 'colgroup', + 'dd', + 'details', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hr', + 'html', + 'iframe', + 'legend', + 'li', + 'link', + 'main', + 'menu', + 'menuitem', + 'nav', + 'noframes', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'search', + 'section', + 'summary', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'title', + 'tr', + 'track', + 'ul' +] + +/** + * List of lowercase HTML “raw” tag names. + * + * The list, when parsing HTML (flow), results in HTML that can include lines + * without exiting, until a closing tag also in this list is found (condition + * 1). + * + * This module is copied from: + * . + * + * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`. + */ +export const htmlRawNames = ['pre', 'script', 'style', 'textarea'] diff --git a/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/package.json b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/package.json new file mode 100644 index 0000000000..defdad648b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@1.2.0/package.json @@ -0,0 +1,47 @@ +{ + "name": "micromark-util-html-tag-name", + "version": "1.2.0", + "description": "micromark utility with list of html tag names", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "html", + "tag", + "name" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "scripts": {}, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/index.js new file mode 100644 index 0000000000..fa0a0fd950 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/index.js @@ -0,0 +1,93 @@ +/** + * List of lowercase HTML “block” tag names. + * + * The list, when parsing HTML (flow), results in more relaxed rules (condition + * 6). + * Because they are known blocks, the HTML-like syntax doesn’t have to be + * strictly parsed. + * For tag names not in this list, a more strict algorithm (condition 7) is used + * to detect whether the HTML-like syntax is seen as HTML (flow) or not. + * + * This is copied from: + * . + * + * > 👉 **Note**: `search` was added in `CommonMark@0.31`. + */ +export const htmlBlockNames = [ + 'address', + 'article', + 'aside', + 'base', + 'basefont', + 'blockquote', + 'body', + 'caption', + 'center', + 'col', + 'colgroup', + 'dd', + 'details', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hr', + 'html', + 'iframe', + 'legend', + 'li', + 'link', + 'main', + 'menu', + 'menuitem', + 'nav', + 'noframes', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'search', + 'section', + 'summary', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'title', + 'tr', + 'track', + 'ul' +] + +/** + * List of lowercase HTML “raw” tag names. + * + * The list, when parsing HTML (flow), results in HTML that can include lines + * without exiting, until a closing tag also in this list is found (condition + * 1). + * + * This module is copied from: + * . + * + * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`. + */ +export const htmlRawNames = ['pre', 'script', 'style', 'textarea'] diff --git a/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/package.json new file mode 100644 index 0000000000..d35b21289f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-html-tag-name@2.0.0/package.json @@ -0,0 +1,38 @@ +{ + "name": "micromark-util-html-tag-name", + "version": "2.0.0", + "description": "micromark utility with list of html tag names", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "html", + "tag", + "name" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/index.js new file mode 100644 index 0000000000..04ff4174d6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/index.js @@ -0,0 +1,36 @@ +/** + * Normalize an identifier (as found in references, definitions). + * + * Collapses markdown whitespace, trim, and then lower- and uppercase. + * + * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their + * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different + * uppercase character (U+0398 (`Θ`)). + * So, to get a canonical form, we perform both lower- and uppercase. + * + * Using uppercase last makes sure keys will never interact with default + * prototypal values (such as `constructor`): nothing in the prototype of + * `Object` is uppercase. + * + * @param {string} value + * Identifier to normalize. + * @returns {string} + * Normalized identifier. + */ +export function normalizeIdentifier(value) { + return ( + value + // Collapse markdown whitespace. + .replace(/[\t\n\r ]+/g, ' ') + // Trim. + .replace(/^ | $/g, '') + // Some characters are considered “uppercase”, but if their lowercase + // counterpart is uppercased will result in a different uppercase + // character. + // Hence, to get that form, we perform both lower- and uppercase. + // Upper case makes sure keys will not interact with default prototypal + // methods: no method is uppercase. + .toLowerCase() + .toUpperCase() + ) +} diff --git a/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/package.json new file mode 100644 index 0000000000..7b96e791be --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@1.1.0/package.json @@ -0,0 +1,57 @@ +{ + "name": "micromark-util-normalize-identifier", + "version": "1.1.0", + "description": "micromark utility normalize identifiers (as found in references, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "normalize", + "id", + "identifier" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/index.js new file mode 100644 index 0000000000..04ff4174d6 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/index.js @@ -0,0 +1,36 @@ +/** + * Normalize an identifier (as found in references, definitions). + * + * Collapses markdown whitespace, trim, and then lower- and uppercase. + * + * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their + * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different + * uppercase character (U+0398 (`Θ`)). + * So, to get a canonical form, we perform both lower- and uppercase. + * + * Using uppercase last makes sure keys will never interact with default + * prototypal values (such as `constructor`): nothing in the prototype of + * `Object` is uppercase. + * + * @param {string} value + * Identifier to normalize. + * @returns {string} + * Normalized identifier. + */ +export function normalizeIdentifier(value) { + return ( + value + // Collapse markdown whitespace. + .replace(/[\t\n\r ]+/g, ' ') + // Trim. + .replace(/^ | $/g, '') + // Some characters are considered “uppercase”, but if their lowercase + // counterpart is uppercased will result in a different uppercase + // character. + // Hence, to get that form, we perform both lower- and uppercase. + // Upper case makes sure keys will not interact with default prototypal + // methods: no method is uppercase. + .toLowerCase() + .toUpperCase() + ) +} diff --git a/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/package.json new file mode 100644 index 0000000000..fad70c3a85 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-normalize-identifier@2.0.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-util-normalize-identifier", + "version": "2.0.0", + "description": "micromark utility normalize identifiers (as found in references, definitions)", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "normalize", + "id", + "identifier" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/index.js new file mode 100644 index 0000000000..49611cb9cb --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/index.js @@ -0,0 +1,34 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +/** + * Call all `resolveAll`s. + * + * @param {Array<{resolveAll?: Resolver | undefined}>} constructs + * List of constructs, optionally with `resolveAll`s. + * @param {Array} events + * List of events. + * @param {TokenizeContext} context + * Context used by `tokenize`. + * @returns {Array} + * Changed events. + */ +export function resolveAll(constructs, events, context) { + /** @type {Array} */ + const called = [] + let index = -1 + + while (++index < constructs.length) { + const resolve = constructs[index].resolveAll + + if (resolve && !called.includes(resolve)) { + events = resolve(events, context) + called.push(resolve) + } + } + + return events +} diff --git a/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/package.json new file mode 100644 index 0000000000..f1d19a696f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-resolve-all@1.1.0/package.json @@ -0,0 +1,48 @@ +{ + "name": "micromark-util-resolve-all", + "version": "1.1.0", + "description": "micromark utility to resolve subtokens", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "resolve" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "scripts": {}, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/index.js new file mode 100644 index 0000000000..49611cb9cb --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/index.js @@ -0,0 +1,34 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +/** + * Call all `resolveAll`s. + * + * @param {Array<{resolveAll?: Resolver | undefined}>} constructs + * List of constructs, optionally with `resolveAll`s. + * @param {Array} events + * List of events. + * @param {TokenizeContext} context + * Context used by `tokenize`. + * @returns {Array} + * Changed events. + */ +export function resolveAll(constructs, events, context) { + /** @type {Array} */ + const called = [] + let index = -1 + + while (++index < constructs.length) { + const resolve = constructs[index].resolveAll + + if (resolve && !called.includes(resolve)) { + events = resolve(events, context) + called.push(resolve) + } + } + + return events +} diff --git a/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/package.json new file mode 100644 index 0000000000..0121a8012b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-resolve-all@2.0.0/package.json @@ -0,0 +1,39 @@ +{ + "name": "micromark-util-resolve-all", + "version": "2.0.0", + "description": "micromark utility to resolve subtokens", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "resolve" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "index.d.ts", + "index.js" + ], + "exports": "./index.js", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/index.js b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/index.js new file mode 100644 index 0000000000..6f72d4dcf4 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/index.js @@ -0,0 +1,114 @@ +import {asciiAlphanumeric} from 'micromark-util-character' +import {encode} from 'micromark-util-encode' +/** + * Make a value safe for injection as a URL. + * + * This encodes unsafe characters with percent-encoding and skips already + * encoded sequences (see `normalizeUri`). + * Further unsafe characters are encoded as character references (see + * `micromark-util-encode`). + * + * A regex of allowed protocols can be given, in which case the URL is + * sanitized. + * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or + * `/^https?$/i` for `img[src]` (this is what `github.com` allows). + * If the URL includes an unknown protocol (one not matched by `protocol`, such + * as a dangerous example, `javascript:`), the value is ignored. + * + * @param {string | undefined} url + * URI to sanitize. + * @param {RegExp | null | undefined} [protocol] + * Allowed protocols. + * @returns {string} + * Sanitized URI. + */ +export function sanitizeUri(url, protocol) { + const value = encode(normalizeUri(url || '')) + if (!protocol) { + return value + } + const colon = value.indexOf(':') + const questionMark = value.indexOf('?') + const numberSign = value.indexOf('#') + const slash = value.indexOf('/') + if ( + // If there is no protocol, it’s relative. + colon < 0 || + // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. + (slash > -1 && colon > slash) || + (questionMark > -1 && colon > questionMark) || + (numberSign > -1 && colon > numberSign) || + // It is a protocol, it should be allowed. + protocol.test(value.slice(0, colon)) + ) { + return value + } + return '' +} + +/** + * Normalize a URL. + * + * Encode unsafe characters with percent-encoding, skipping already encoded + * sequences. + * + * @param {string} value + * URI to normalize. + * @returns {string} + * Normalized URI. + */ +export function normalizeUri(value) { + /** @type {Array} */ + const result = [] + let index = -1 + let start = 0 + let skip = 0 + while (++index < value.length) { + const code = value.charCodeAt(index) + /** @type {string} */ + let replace = '' + + // A correct percent encoded value. + if ( + code === 37 && + asciiAlphanumeric(value.charCodeAt(index + 1)) && + asciiAlphanumeric(value.charCodeAt(index + 2)) + ) { + skip = 2 + } + // ASCII. + else if (code < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) { + replace = String.fromCharCode(code) + } + } + // Astral. + else if (code > 55295 && code < 57344) { + const next = value.charCodeAt(index + 1) + + // A correct surrogate pair. + if (code < 56320 && next > 56319 && next < 57344) { + replace = String.fromCharCode(code, next) + skip = 1 + } + // Lone surrogate. + else { + replace = '\uFFFD' + } + } + // Unicode. + else { + replace = String.fromCharCode(code) + } + if (replace) { + result.push(value.slice(start, index), encodeURIComponent(replace)) + start = index + skip + 1 + replace = '' + } + if (skip) { + index += skip + skip = 0 + } + } + return result.join('') + value.slice(start) +} diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-encode b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-encode new file mode 120000 index 0000000000..7ed0b934c8 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-encode @@ -0,0 +1 @@ +../../micromark-util-encode@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/package.json b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/package.json new file mode 100644 index 0000000000..0042dfc2a8 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@1.2.0/package.json @@ -0,0 +1,59 @@ +{ + "name": "micromark-util-sanitize-uri", + "version": "1.2.0", + "description": "micromark utility to sanitize urls", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "sanitize", + "clear", + "url" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/index.js new file mode 100644 index 0000000000..b5fa61dc1d --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/index.js @@ -0,0 +1,114 @@ +import {asciiAlphanumeric} from 'micromark-util-character' +import {encode} from 'micromark-util-encode' +/** + * Make a value safe for injection as a URL. + * + * This encodes unsafe characters with percent-encoding and skips already + * encoded sequences (see `normalizeUri`). + * Further unsafe characters are encoded as character references (see + * `micromark-util-encode`). + * + * A regex of allowed protocols can be given, in which case the URL is + * sanitized. + * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or + * `/^https?$/i` for `img[src]` (this is what `github.com` allows). + * If the URL includes an unknown protocol (one not matched by `protocol`, such + * as a dangerous example, `javascript:`), the value is ignored. + * + * @param {string | null | undefined} url + * URI to sanitize. + * @param {RegExp | null | undefined} [protocol] + * Allowed protocols. + * @returns {string} + * Sanitized URI. + */ +export function sanitizeUri(url, protocol) { + const value = encode(normalizeUri(url || '')) + if (!protocol) { + return value + } + const colon = value.indexOf(':') + const questionMark = value.indexOf('?') + const numberSign = value.indexOf('#') + const slash = value.indexOf('/') + if ( + // If there is no protocol, it’s relative. + colon < 0 || + // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. + (slash > -1 && colon > slash) || + (questionMark > -1 && colon > questionMark) || + (numberSign > -1 && colon > numberSign) || + // It is a protocol, it should be allowed. + protocol.test(value.slice(0, colon)) + ) { + return value + } + return '' +} + +/** + * Normalize a URL. + * + * Encode unsafe characters with percent-encoding, skipping already encoded + * sequences. + * + * @param {string} value + * URI to normalize. + * @returns {string} + * Normalized URI. + */ +export function normalizeUri(value) { + /** @type {Array} */ + const result = [] + let index = -1 + let start = 0 + let skip = 0 + while (++index < value.length) { + const code = value.charCodeAt(index) + /** @type {string} */ + let replace = '' + + // A correct percent encoded value. + if ( + code === 37 && + asciiAlphanumeric(value.charCodeAt(index + 1)) && + asciiAlphanumeric(value.charCodeAt(index + 2)) + ) { + skip = 2 + } + // ASCII. + else if (code < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) { + replace = String.fromCharCode(code) + } + } + // Astral. + else if (code > 55_295 && code < 57_344) { + const next = value.charCodeAt(index + 1) + + // A correct surrogate pair. + if (code < 56_320 && next > 56_319 && next < 57_344) { + replace = String.fromCharCode(code, next) + skip = 1 + } + // Lone surrogate. + else { + replace = '\uFFFD' + } + } + // Unicode. + else { + replace = String.fromCharCode(code) + } + if (replace) { + result.push(value.slice(start, index), encodeURIComponent(replace)) + start = index + skip + 1 + replace = '' + } + if (skip) { + index += skip + skip = 0 + } + } + return result.join('') + value.slice(start) +} diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-encode b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-encode new file mode 120000 index 0000000000..5c130448f8 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-encode @@ -0,0 +1 @@ +../../micromark-util-encode@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/package.json new file mode 100644 index 0000000000..2777918690 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-sanitize-uri@2.0.0/package.json @@ -0,0 +1,50 @@ +{ + "name": "micromark-util-sanitize-uri", + "version": "2.0.0", + "description": "micromark utility to sanitize urls", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "sanitize", + "clear", + "url" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/index.js b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/index.js new file mode 100644 index 0000000000..b0f2834a89 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/index.js @@ -0,0 +1,224 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Token} Token + */ + +import {splice} from 'micromark-util-chunked' +/** + * Tokenize subcontent. + * + * @param {Array} events + * List of events. + * @returns {boolean} + * Whether subtokens were found. + */ +export function subtokenize(events) { + /** @type {Record} */ + const jumps = {} + let index = -1 + /** @type {Event} */ + let event + /** @type {number | undefined} */ + let lineIndex + /** @type {number} */ + let otherIndex + /** @type {Event} */ + let otherEvent + /** @type {Array} */ + let parameters + /** @type {Array} */ + let subevents + /** @type {boolean | undefined} */ + let more + while (++index < events.length) { + while (index in jumps) { + index = jumps[index] + } + event = events[index] + + // Add a hook for the GFM tasklist extension, which needs to know if text + // is in the first content of a list item. + if ( + index && + event[1].type === 'chunkFlow' && + events[index - 1][1].type === 'listItemPrefix' + ) { + subevents = event[1]._tokenizer.events + otherIndex = 0 + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'lineEndingBlank' + ) { + otherIndex += 2 + } + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'content' + ) { + while (++otherIndex < subevents.length) { + if (subevents[otherIndex][1].type === 'content') { + break + } + if (subevents[otherIndex][1].type === 'chunkText') { + subevents[otherIndex][1]._isInFirstContentOfListItem = true + otherIndex++ + } + } + } + } + + // Enter. + if (event[0] === 'enter') { + if (event[1].contentType) { + Object.assign(jumps, subcontent(events, index)) + index = jumps[index] + more = true + } + } + // Exit. + else if (event[1]._container) { + otherIndex = index + lineIndex = undefined + while (otherIndex--) { + otherEvent = events[otherIndex] + if ( + otherEvent[1].type === 'lineEnding' || + otherEvent[1].type === 'lineEndingBlank' + ) { + if (otherEvent[0] === 'enter') { + if (lineIndex) { + events[lineIndex][1].type = 'lineEndingBlank' + } + otherEvent[1].type = 'lineEnding' + lineIndex = otherIndex + } + } else { + break + } + } + if (lineIndex) { + // Fix position. + event[1].end = Object.assign({}, events[lineIndex][1].start) + + // Switch container exit w/ line endings. + parameters = events.slice(lineIndex, index) + parameters.unshift(event) + splice(events, lineIndex, index - lineIndex + 1, parameters) + } + } + } + return !more +} + +/** + * Tokenize embedded tokens. + * + * @param {Array} events + * @param {number} eventIndex + * @returns {Record} + */ +function subcontent(events, eventIndex) { + const token = events[eventIndex][1] + const context = events[eventIndex][2] + let startPosition = eventIndex - 1 + /** @type {Array} */ + const startPositions = [] + const tokenizer = + token._tokenizer || context.parser[token.contentType](token.start) + const childEvents = tokenizer.events + /** @type {Array<[number, number]>} */ + const jumps = [] + /** @type {Record} */ + const gaps = {} + /** @type {Array} */ + let stream + /** @type {Token | undefined} */ + let previous + let index = -1 + /** @type {Token | undefined} */ + let current = token + let adjust = 0 + let start = 0 + const breaks = [start] + + // Loop forward through the linked tokens to pass them in order to the + // subtokenizer. + while (current) { + // Find the position of the event for this token. + while (events[++startPosition][1] !== current) { + // Empty. + } + startPositions.push(startPosition) + if (!current._tokenizer) { + stream = context.sliceStream(current) + if (!current.next) { + stream.push(null) + } + if (previous) { + tokenizer.defineSkip(current.start) + } + if (current._isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = true + } + tokenizer.write(stream) + if (current._isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = undefined + } + } + + // Unravel the next token. + previous = current + current = current.next + } + + // Now, loop back through all events (and linked tokens), to figure out which + // parts belong where. + current = token + while (++index < childEvents.length) { + if ( + // Find a void token that includes a break. + childEvents[index][0] === 'exit' && + childEvents[index - 1][0] === 'enter' && + childEvents[index][1].type === childEvents[index - 1][1].type && + childEvents[index][1].start.line !== childEvents[index][1].end.line + ) { + start = index + 1 + breaks.push(start) + // Help GC. + current._tokenizer = undefined + current.previous = undefined + current = current.next + } + } + + // Help GC. + tokenizer.events = [] + + // If there’s one more token (which is the cases for lines that end in an + // EOF), that’s perfect: the last point we found starts it. + // If there isn’t then make sure any remaining content is added to it. + if (current) { + // Help GC. + current._tokenizer = undefined + current.previous = undefined + } else { + breaks.pop() + } + + // Now splice the events from the subtokenizer into the current events, + // moving back to front so that splice indices aren’t affected. + index = breaks.length + while (index--) { + const slice = childEvents.slice(breaks[index], breaks[index + 1]) + const start = startPositions.pop() + jumps.unshift([start, start + slice.length - 1]) + splice(events, start, 2, slice) + } + index = -1 + while (++index < jumps.length) { + gaps[adjust + jumps[index][0]] = adjust + jumps[index][1] + adjust += jumps[index][1] - jumps[index][0] - 1 + } + return gaps +} diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..7449f9d875 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/package.json b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/package.json new file mode 100644 index 0000000000..2608bbad5b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@1.1.0/package.json @@ -0,0 +1,58 @@ +{ + "name": "micromark-util-subtokenize", + "version": "1.1.0", + "description": "micromark utility to tokenize subtokens", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "tokenize" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/index.js b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/index.js new file mode 100644 index 0000000000..ec4c4c5187 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/index.js @@ -0,0 +1,224 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Token} Token + */ + +import {splice} from 'micromark-util-chunked' +/** + * Tokenize subcontent. + * + * @param {Array} events + * List of events. + * @returns {boolean} + * Whether subtokens were found. + */ // eslint-disable-next-line complexity +export function subtokenize(events) { + /** @type {Record} */ + const jumps = {} + let index = -1 + /** @type {Event} */ + let event + /** @type {number | undefined} */ + let lineIndex + /** @type {number} */ + let otherIndex + /** @type {Event} */ + let otherEvent + /** @type {Array} */ + let parameters + /** @type {Array} */ + let subevents + /** @type {boolean | undefined} */ + let more + while (++index < events.length) { + while (index in jumps) { + index = jumps[index] + } + event = events[index] + + // Add a hook for the GFM tasklist extension, which needs to know if text + // is in the first content of a list item. + if ( + index && + event[1].type === 'chunkFlow' && + events[index - 1][1].type === 'listItemPrefix' + ) { + subevents = event[1]._tokenizer.events + otherIndex = 0 + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'lineEndingBlank' + ) { + otherIndex += 2 + } + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'content' + ) { + while (++otherIndex < subevents.length) { + if (subevents[otherIndex][1].type === 'content') { + break + } + if (subevents[otherIndex][1].type === 'chunkText') { + subevents[otherIndex][1]._isInFirstContentOfListItem = true + otherIndex++ + } + } + } + } + + // Enter. + if (event[0] === 'enter') { + if (event[1].contentType) { + Object.assign(jumps, subcontent(events, index)) + index = jumps[index] + more = true + } + } + // Exit. + else if (event[1]._container) { + otherIndex = index + lineIndex = undefined + while (otherIndex--) { + otherEvent = events[otherIndex] + if ( + otherEvent[1].type === 'lineEnding' || + otherEvent[1].type === 'lineEndingBlank' + ) { + if (otherEvent[0] === 'enter') { + if (lineIndex) { + events[lineIndex][1].type = 'lineEndingBlank' + } + otherEvent[1].type = 'lineEnding' + lineIndex = otherIndex + } + } else { + break + } + } + if (lineIndex) { + // Fix position. + event[1].end = Object.assign({}, events[lineIndex][1].start) + + // Switch container exit w/ line endings. + parameters = events.slice(lineIndex, index) + parameters.unshift(event) + splice(events, lineIndex, index - lineIndex + 1, parameters) + } + } + } + return !more +} + +/** + * Tokenize embedded tokens. + * + * @param {Array} events + * @param {number} eventIndex + * @returns {Record} + */ +function subcontent(events, eventIndex) { + const token = events[eventIndex][1] + const context = events[eventIndex][2] + let startPosition = eventIndex - 1 + /** @type {Array} */ + const startPositions = [] + const tokenizer = + token._tokenizer || context.parser[token.contentType](token.start) + const childEvents = tokenizer.events + /** @type {Array<[number, number]>} */ + const jumps = [] + /** @type {Record} */ + const gaps = {} + /** @type {Array} */ + let stream + /** @type {Token | undefined} */ + let previous + let index = -1 + /** @type {Token | undefined} */ + let current = token + let adjust = 0 + let start = 0 + const breaks = [start] + + // Loop forward through the linked tokens to pass them in order to the + // subtokenizer. + while (current) { + // Find the position of the event for this token. + while (events[++startPosition][1] !== current) { + // Empty. + } + startPositions.push(startPosition) + if (!current._tokenizer) { + stream = context.sliceStream(current) + if (!current.next) { + stream.push(null) + } + if (previous) { + tokenizer.defineSkip(current.start) + } + if (current._isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = true + } + tokenizer.write(stream) + if (current._isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = undefined + } + } + + // Unravel the next token. + previous = current + current = current.next + } + + // Now, loop back through all events (and linked tokens), to figure out which + // parts belong where. + current = token + while (++index < childEvents.length) { + if ( + // Find a void token that includes a break. + childEvents[index][0] === 'exit' && + childEvents[index - 1][0] === 'enter' && + childEvents[index][1].type === childEvents[index - 1][1].type && + childEvents[index][1].start.line !== childEvents[index][1].end.line + ) { + start = index + 1 + breaks.push(start) + // Help GC. + current._tokenizer = undefined + current.previous = undefined + current = current.next + } + } + + // Help GC. + tokenizer.events = [] + + // If there’s one more token (which is the cases for lines that end in an + // EOF), that’s perfect: the last point we found starts it. + // If there isn’t then make sure any remaining content is added to it. + if (current) { + // Help GC. + current._tokenizer = undefined + current.previous = undefined + } else { + breaks.pop() + } + + // Now splice the events from the subtokenizer into the current events, + // moving back to front so that splice indices aren’t affected. + index = breaks.length + while (index--) { + const slice = childEvents.slice(breaks[index], breaks[index + 1]) + const start = startPositions.pop() + jumps.unshift([start, start + slice.length - 1]) + splice(events, start, 2, slice) + } + index = -1 + while (++index < jumps.length) { + gaps[adjust + jumps[index][0]] = adjust + jumps[index][1] + adjust += jumps[index][1] - jumps[index][0] - 1 + } + return gaps +} diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..867c7e91ff --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/package.json b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/package.json new file mode 100644 index 0000000000..603a57cbcb --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark-util-subtokenize@2.0.0/package.json @@ -0,0 +1,49 @@ +{ + "name": "micromark-util-subtokenize", + "version": "2.0.0", + "description": "micromark utility to tokenize subtokens", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "tokenize" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/constructs.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/constructs.js new file mode 100644 index 0000000000..81554f74f9 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/constructs.js @@ -0,0 +1,106 @@ +/** + * @typedef {import('micromark-util-types').Extension} Extension + */ + +import { + attention, + autolink, + blockQuote, + characterEscape, + characterReference, + codeFenced, + codeIndented, + codeText, + definition, + hardBreakEscape, + headingAtx, + htmlFlow, + htmlText, + labelEnd, + labelStartImage, + labelStartLink, + lineEnding, + list, + setextUnderline, + thematicBreak +} from 'micromark-core-commonmark' +import {resolver as resolveText} from './initialize/text.js' + +/** @satisfies {Extension['document']} */ +export const document = { + [42]: list, + [43]: list, + [45]: list, + [48]: list, + [49]: list, + [50]: list, + [51]: list, + [52]: list, + [53]: list, + [54]: list, + [55]: list, + [56]: list, + [57]: list, + [62]: blockQuote +} + +/** @satisfies {Extension['contentInitial']} */ +export const contentInitial = { + [91]: definition +} + +/** @satisfies {Extension['flowInitial']} */ +export const flowInitial = { + [-2]: codeIndented, + [-1]: codeIndented, + [32]: codeIndented +} + +/** @satisfies {Extension['flow']} */ +export const flow = { + [35]: headingAtx, + [42]: thematicBreak, + [45]: [setextUnderline, thematicBreak], + [60]: htmlFlow, + [61]: setextUnderline, + [95]: thematicBreak, + [96]: codeFenced, + [126]: codeFenced +} + +/** @satisfies {Extension['string']} */ +export const string = { + [38]: characterReference, + [92]: characterEscape +} + +/** @satisfies {Extension['text']} */ +export const text = { + [-5]: lineEnding, + [-4]: lineEnding, + [-3]: lineEnding, + [33]: labelStartImage, + [38]: characterReference, + [42]: attention, + [60]: [autolink, htmlText], + [91]: labelStartLink, + [92]: [hardBreakEscape, characterEscape], + [93]: labelEnd, + [95]: attention, + [96]: codeText +} + +/** @satisfies {Extension['insideSpan']} */ +export const insideSpan = { + null: [attention, resolveText] +} + +/** @satisfies {Extension['attentionMarkers']} */ +export const attentionMarkers = { + null: [42, 95] +} + +/** @satisfies {Extension['disable']} */ +export const disable = { + null: [] +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/create-tokenizer.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/create-tokenizer.js new file mode 100644 index 0000000000..73b6e944c1 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/create-tokenizer.js @@ -0,0 +1,582 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').ParseContext} ParseContext + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenType} TokenType + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +/** + * @callback Restore + * @returns {void} + * + * @typedef Info + * @property {Restore} restore + * @property {number} from + * + * @callback ReturnHandle + * Handle a successful run. + * @param {Construct} construct + * @param {Info} info + * @returns {void} + */ + +import {markdownLineEnding} from 'micromark-util-character' +import {push, splice} from 'micromark-util-chunked' +import {resolveAll} from 'micromark-util-resolve-all' +/** + * Create a tokenizer. + * Tokenizers deal with one type of data (e.g., containers, flow, text). + * The parser is the object dealing with it all. + * `initialize` works like other constructs, except that only its `tokenize` + * function is used, in which case it doesn’t receive an `ok` or `nok`. + * `from` can be given to set the point before the first character, although + * when further lines are indented, they must be set with `defineSkip`. + * + * @param {ParseContext} parser + * @param {InitialConstruct} initialize + * @param {Omit | undefined} [from] + * @returns {TokenizeContext} + */ +export function createTokenizer(parser, initialize, from) { + /** @type {Point} */ + let point = Object.assign( + from + ? Object.assign({}, from) + : { + line: 1, + column: 1, + offset: 0 + }, + { + _index: 0, + _bufferIndex: -1 + } + ) + /** @type {Record} */ + const columnStart = {} + /** @type {Array} */ + const resolveAllConstructs = [] + /** @type {Array} */ + let chunks = [] + /** @type {Array} */ + let stack = [] + /** @type {boolean | undefined} */ + let consumed = true + + /** + * Tools used for tokenizing. + * + * @type {Effects} + */ + const effects = { + consume, + enter, + exit, + attempt: constructFactory(onsuccessfulconstruct), + check: constructFactory(onsuccessfulcheck), + interrupt: constructFactory(onsuccessfulcheck, { + interrupt: true + }) + } + + /** + * State and tools for resolving and serializing. + * + * @type {TokenizeContext} + */ + const context = { + previous: null, + code: null, + containerState: {}, + events: [], + parser, + sliceStream, + sliceSerialize, + now, + defineSkip, + write + } + + /** + * The state function. + * + * @type {State | void} + */ + let state = initialize.tokenize.call(context, effects) + + /** + * Track which character we expect to be consumed, to catch bugs. + * + * @type {Code} + */ + let expectedCode + if (initialize.resolveAll) { + resolveAllConstructs.push(initialize) + } + return context + + /** @type {TokenizeContext['write']} */ + function write(slice) { + chunks = push(chunks, slice) + main() + + // Exit if we’re not done, resolve might change stuff. + if (chunks[chunks.length - 1] !== null) { + return [] + } + addResult(initialize, 0) + + // Otherwise, resolve, and exit. + context.events = resolveAll(resolveAllConstructs, context.events, context) + return context.events + } + + // + // Tools. + // + + /** @type {TokenizeContext['sliceSerialize']} */ + function sliceSerialize(token, expandTabs) { + return serializeChunks(sliceStream(token), expandTabs) + } + + /** @type {TokenizeContext['sliceStream']} */ + function sliceStream(token) { + return sliceChunks(chunks, token) + } + + /** @type {TokenizeContext['now']} */ + function now() { + // This is a hot path, so we clone manually instead of `Object.assign({}, point)` + const {line, column, offset, _index, _bufferIndex} = point + return { + line, + column, + offset, + _index, + _bufferIndex + } + } + + /** @type {TokenizeContext['defineSkip']} */ + function defineSkip(value) { + columnStart[value.line] = value.column + accountForPotentialSkip() + } + + // + // State management. + // + + /** + * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by + * `consume`). + * Here is where we walk through the chunks, which either include strings of + * several characters, or numerical character codes. + * The reason to do this in a loop instead of a call is so the stack can + * drain. + * + * @returns {void} + */ + function main() { + /** @type {number} */ + let chunkIndex + while (point._index < chunks.length) { + const chunk = chunks[point._index] + + // If we’re in a buffer chunk, loop through it. + if (typeof chunk === 'string') { + chunkIndex = point._index + if (point._bufferIndex < 0) { + point._bufferIndex = 0 + } + while ( + point._index === chunkIndex && + point._bufferIndex < chunk.length + ) { + go(chunk.charCodeAt(point._bufferIndex)) + } + } else { + go(chunk) + } + } + } + + /** + * Deal with one code. + * + * @param {Code} code + * @returns {void} + */ + function go(code) { + consumed = undefined + expectedCode = code + state = state(code) + } + + /** @type {Effects['consume']} */ + function consume(code) { + if (markdownLineEnding(code)) { + point.line++ + point.column = 1 + point.offset += code === -3 ? 2 : 1 + accountForPotentialSkip() + } else if (code !== -1) { + point.column++ + point.offset++ + } + + // Not in a string chunk. + if (point._bufferIndex < 0) { + point._index++ + } else { + point._bufferIndex++ + + // At end of string chunk. + // @ts-expect-error Points w/ non-negative `_bufferIndex` reference + // strings. + if (point._bufferIndex === chunks[point._index].length) { + point._bufferIndex = -1 + point._index++ + } + } + + // Expose the previous character. + context.previous = code + + // Mark as consumed. + consumed = true + } + + /** @type {Effects['enter']} */ + function enter(type, fields) { + /** @type {Token} */ + // @ts-expect-error Patch instead of assign required fields to help GC. + const token = fields || {} + token.type = type + token.start = now() + context.events.push(['enter', token, context]) + stack.push(token) + return token + } + + /** @type {Effects['exit']} */ + function exit(type) { + const token = stack.pop() + token.end = now() + context.events.push(['exit', token, context]) + return token + } + + /** + * Use results. + * + * @type {ReturnHandle} + */ + function onsuccessfulconstruct(construct, info) { + addResult(construct, info.from) + } + + /** + * Discard results. + * + * @type {ReturnHandle} + */ + function onsuccessfulcheck(_, info) { + info.restore() + } + + /** + * Factory to attempt/check/interrupt. + * + * @param {ReturnHandle} onreturn + * @param {{interrupt?: boolean | undefined} | undefined} [fields] + */ + function constructFactory(onreturn, fields) { + return hook + + /** + * Handle either an object mapping codes to constructs, a list of + * constructs, or a single construct. + * + * @param {Array | Construct | ConstructRecord} constructs + * @param {State} returnState + * @param {State | undefined} [bogusState] + * @returns {State} + */ + function hook(constructs, returnState, bogusState) { + /** @type {Array} */ + let listOfConstructs + /** @type {number} */ + let constructIndex + /** @type {Construct} */ + let currentConstruct + /** @type {Info} */ + let info + return Array.isArray(constructs) /* c8 ignore next 1 */ + ? handleListOfConstructs(constructs) + : 'tokenize' in constructs + ? // @ts-expect-error Looks like a construct. + handleListOfConstructs([constructs]) + : handleMapOfConstructs(constructs) + + /** + * Handle a list of construct. + * + * @param {ConstructRecord} map + * @returns {State} + */ + function handleMapOfConstructs(map) { + return start + + /** @type {State} */ + function start(code) { + const def = code !== null && map[code] + const all = code !== null && map.null + const list = [ + // To do: add more extension tests. + /* c8 ignore next 2 */ + ...(Array.isArray(def) ? def : def ? [def] : []), + ...(Array.isArray(all) ? all : all ? [all] : []) + ] + return handleListOfConstructs(list)(code) + } + } + + /** + * Handle a list of construct. + * + * @param {Array} list + * @returns {State} + */ + function handleListOfConstructs(list) { + listOfConstructs = list + constructIndex = 0 + if (list.length === 0) { + return bogusState + } + return handleConstruct(list[constructIndex]) + } + + /** + * Handle a single construct. + * + * @param {Construct} construct + * @returns {State} + */ + function handleConstruct(construct) { + return start + + /** @type {State} */ + function start(code) { + // To do: not needed to store if there is no bogus state, probably? + // Currently doesn’t work because `inspect` in document does a check + // w/o a bogus, which doesn’t make sense. But it does seem to help perf + // by not storing. + info = store() + currentConstruct = construct + if (!construct.partial) { + context.currentConstruct = construct + } + + // Always populated by defaults. + + if ( + construct.name && + context.parser.constructs.disable.null.includes(construct.name) + ) { + return nok(code) + } + return construct.tokenize.call( + // If we do have fields, create an object w/ `context` as its + // prototype. + // This allows a “live binding”, which is needed for `interrupt`. + fields ? Object.assign(Object.create(context), fields) : context, + effects, + ok, + nok + )(code) + } + } + + /** @type {State} */ + function ok(code) { + consumed = true + onreturn(currentConstruct, info) + return returnState + } + + /** @type {State} */ + function nok(code) { + consumed = true + info.restore() + if (++constructIndex < listOfConstructs.length) { + return handleConstruct(listOfConstructs[constructIndex]) + } + return bogusState + } + } + } + + /** + * @param {Construct} construct + * @param {number} from + * @returns {void} + */ + function addResult(construct, from) { + if (construct.resolveAll && !resolveAllConstructs.includes(construct)) { + resolveAllConstructs.push(construct) + } + if (construct.resolve) { + splice( + context.events, + from, + context.events.length - from, + construct.resolve(context.events.slice(from), context) + ) + } + if (construct.resolveTo) { + context.events = construct.resolveTo(context.events, context) + } + } + + /** + * Store state. + * + * @returns {Info} + */ + function store() { + const startPoint = now() + const startPrevious = context.previous + const startCurrentConstruct = context.currentConstruct + const startEventsIndex = context.events.length + const startStack = Array.from(stack) + return { + restore, + from: startEventsIndex + } + + /** + * Restore state. + * + * @returns {void} + */ + function restore() { + point = startPoint + context.previous = startPrevious + context.currentConstruct = startCurrentConstruct + context.events.length = startEventsIndex + stack = startStack + accountForPotentialSkip() + } + } + + /** + * Move the current point a bit forward in the line when it’s on a column + * skip. + * + * @returns {void} + */ + function accountForPotentialSkip() { + if (point.line in columnStart && point.column < 2) { + point.column = columnStart[point.line] + point.offset += columnStart[point.line] - 1 + } + } +} + +/** + * Get the chunks from a slice of chunks in the range of a token. + * + * @param {Array} chunks + * @param {Pick} token + * @returns {Array} + */ +function sliceChunks(chunks, token) { + const startIndex = token.start._index + const startBufferIndex = token.start._bufferIndex + const endIndex = token.end._index + const endBufferIndex = token.end._bufferIndex + /** @type {Array} */ + let view + if (startIndex === endIndex) { + // @ts-expect-error `_bufferIndex` is used on string chunks. + view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] + } else { + view = chunks.slice(startIndex, endIndex) + if (startBufferIndex > -1) { + const head = view[0] + if (typeof head === 'string') { + view[0] = head.slice(startBufferIndex) + } else { + view.shift() + } + } + if (endBufferIndex > 0) { + // @ts-expect-error `_bufferIndex` is used on string chunks. + view.push(chunks[endIndex].slice(0, endBufferIndex)) + } + } + return view +} + +/** + * Get the string value of a slice of chunks. + * + * @param {Array} chunks + * @param {boolean | undefined} [expandTabs=false] + * @returns {string} + */ +function serializeChunks(chunks, expandTabs) { + let index = -1 + /** @type {Array} */ + const result = [] + /** @type {boolean | undefined} */ + let atTab + while (++index < chunks.length) { + const chunk = chunks[index] + /** @type {string} */ + let value + if (typeof chunk === 'string') { + value = chunk + } else + switch (chunk) { + case -5: { + value = '\r' + break + } + case -4: { + value = '\n' + break + } + case -3: { + value = '\r' + '\n' + break + } + case -2: { + value = expandTabs ? ' ' : '\t' + break + } + case -1: { + if (!expandTabs && atTab) continue + value = ' ' + break + } + default: { + // Currently only replacement character. + value = String.fromCharCode(chunk) + } + } + atTab = chunk === -2 + result.push(value) + } + return result.join('') +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/content.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/content.js new file mode 100644 index 0000000000..671c9621a3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/content.js @@ -0,0 +1,79 @@ +/** + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {InitialConstruct} */ +export const content = { + tokenize: initializeContent +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeContent(effects) { + const contentStart = effects.attempt( + this.parser.constructs.contentInitial, + afterContentStartConstruct, + paragraphInitial + ) + /** @type {Token} */ + let previous + return contentStart + + /** @type {State} */ + function afterContentStartConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, contentStart, 'linePrefix') + } + + /** @type {State} */ + function paragraphInitial(code) { + effects.enter('paragraph') + return lineStart(code) + } + + /** @type {State} */ + function lineStart(code) { + const token = effects.enter('chunkText', { + contentType: 'text', + previous + }) + if (previous) { + previous.next = token + } + previous = token + return data(code) + } + + /** @type {State} */ + function data(code) { + if (code === null) { + effects.exit('chunkText') + effects.exit('paragraph') + effects.consume(code) + return + } + if (markdownLineEnding(code)) { + effects.consume(code) + effects.exit('chunkText') + return lineStart + } + + // Data. + effects.consume(code) + return data + } +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/document.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/document.js new file mode 100644 index 0000000000..ad1c23814b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/document.js @@ -0,0 +1,382 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ContainerState} ContainerState + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +/** + * @typedef {[Construct, ContainerState]} StackItem + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +import {splice} from 'micromark-util-chunked' +/** @type {InitialConstruct} */ +export const document = { + tokenize: initializeDocument +} + +/** @type {Construct} */ +const containerConstruct = { + tokenize: tokenizeContainer +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeDocument(effects) { + const self = this + /** @type {Array} */ + const stack = [] + let continued = 0 + /** @type {TokenizeContext | undefined} */ + let childFlow + /** @type {Token | undefined} */ + let childToken + /** @type {number} */ + let lineStartOffset + return start + + /** @type {State} */ + function start(code) { + // First we iterate through the open blocks, starting with the root + // document, and descending through last children down to the last open + // block. + // Each block imposes a condition that the line must satisfy if the block is + // to remain open. + // For example, a block quote requires a `>` character. + // A paragraph requires a non-blank line. + // In this phase we may match all or just some of the open blocks. + // But we cannot close unmatched blocks yet, because we may have a lazy + // continuation line. + if (continued < stack.length) { + const item = stack[continued] + self.containerState = item[1] + return effects.attempt( + item[0].continuation, + documentContinue, + checkNewContainers + )(code) + } + + // Done. + return checkNewContainers(code) + } + + /** @type {State} */ + function documentContinue(code) { + continued++ + + // Note: this field is called `_closeFlow` but it also closes containers. + // Perhaps a good idea to rename it but it’s already used in the wild by + // extensions. + if (self.containerState._closeFlow) { + self.containerState._closeFlow = undefined + if (childFlow) { + closeFlow() + } + + // Note: this algorithm for moving events around is similar to the + // algorithm when dealing with lazy lines in `writeToChild`. + const indexBeforeExits = self.events.length + let indexBeforeFlow = indexBeforeExits + /** @type {Point | undefined} */ + let point + + // Find the flow chunk. + while (indexBeforeFlow--) { + if ( + self.events[indexBeforeFlow][0] === 'exit' && + self.events[indexBeforeFlow][1].type === 'chunkFlow' + ) { + point = self.events[indexBeforeFlow][1].end + break + } + } + exitContainers(continued) + + // Fix positions. + let index = indexBeforeExits + while (index < self.events.length) { + self.events[index][1].end = Object.assign({}, point) + index++ + } + + // Inject the exits earlier (they’re still also at the end). + splice( + self.events, + indexBeforeFlow + 1, + 0, + self.events.slice(indexBeforeExits) + ) + + // Discard the duplicate exits. + self.events.length = index + return checkNewContainers(code) + } + return start(code) + } + + /** @type {State} */ + function checkNewContainers(code) { + // Next, after consuming the continuation markers for existing blocks, we + // look for new block starts (e.g. `>` for a block quote). + // If we encounter a new block start, we close any blocks unmatched in + // step 1 before creating the new block as a child of the last matched + // block. + if (continued === stack.length) { + // No need to `check` whether there’s a container, of `exitContainers` + // would be moot. + // We can instead immediately `attempt` to parse one. + if (!childFlow) { + return documentContinued(code) + } + + // If we have concrete content, such as block HTML or fenced code, + // we can’t have containers “pierce” into them, so we can immediately + // start. + if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { + return flowStart(code) + } + + // If we do have flow, it could still be a blank line, + // but we’d be interrupting it w/ a new container if there’s a current + // construct. + // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer + // needed in micromark-extension-gfm-table@1.0.6). + self.interrupt = Boolean( + childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack + ) + } + + // Check if there is a new container. + self.containerState = {} + return effects.check( + containerConstruct, + thereIsANewContainer, + thereIsNoNewContainer + )(code) + } + + /** @type {State} */ + function thereIsANewContainer(code) { + if (childFlow) closeFlow() + exitContainers(continued) + return documentContinued(code) + } + + /** @type {State} */ + function thereIsNoNewContainer(code) { + self.parser.lazy[self.now().line] = continued !== stack.length + lineStartOffset = self.now().offset + return flowStart(code) + } + + /** @type {State} */ + function documentContinued(code) { + // Try new containers. + self.containerState = {} + return effects.attempt( + containerConstruct, + containerContinue, + flowStart + )(code) + } + + /** @type {State} */ + function containerContinue(code) { + continued++ + stack.push([self.currentConstruct, self.containerState]) + // Try another. + return documentContinued(code) + } + + /** @type {State} */ + function flowStart(code) { + if (code === null) { + if (childFlow) closeFlow() + exitContainers(0) + effects.consume(code) + return + } + childFlow = childFlow || self.parser.flow(self.now()) + effects.enter('chunkFlow', { + contentType: 'flow', + previous: childToken, + _tokenizer: childFlow + }) + return flowContinue(code) + } + + /** @type {State} */ + function flowContinue(code) { + if (code === null) { + writeToChild(effects.exit('chunkFlow'), true) + exitContainers(0) + effects.consume(code) + return + } + if (markdownLineEnding(code)) { + effects.consume(code) + writeToChild(effects.exit('chunkFlow')) + // Get ready for the next line. + continued = 0 + self.interrupt = undefined + return start + } + effects.consume(code) + return flowContinue + } + + /** + * @param {Token} token + * @param {boolean | undefined} [eof] + * @returns {void} + */ + function writeToChild(token, eof) { + const stream = self.sliceStream(token) + if (eof) stream.push(null) + token.previous = childToken + if (childToken) childToken.next = token + childToken = token + childFlow.defineSkip(token.start) + childFlow.write(stream) + + // Alright, so we just added a lazy line: + // + // ```markdown + // > a + // b. + // + // Or: + // + // > ~~~c + // d + // + // Or: + // + // > | e | + // f + // ``` + // + // The construct in the second example (fenced code) does not accept lazy + // lines, so it marked itself as done at the end of its first line, and + // then the content construct parses `d`. + // Most constructs in markdown match on the first line: if the first line + // forms a construct, a non-lazy line can’t “unmake” it. + // + // The construct in the third example is potentially a GFM table, and + // those are *weird*. + // It *could* be a table, from the first line, if the following line + // matches a condition. + // In this case, that second line is lazy, which “unmakes” the first line + // and turns the whole into one content block. + // + // We’ve now parsed the non-lazy and the lazy line, and can figure out + // whether the lazy line started a new flow block. + // If it did, we exit the current containers between the two flow blocks. + if (self.parser.lazy[token.start.line]) { + let index = childFlow.events.length + while (index--) { + if ( + // The token starts before the line ending… + childFlow.events[index][1].start.offset < lineStartOffset && + // …and either is not ended yet… + (!childFlow.events[index][1].end || + // …or ends after it. + childFlow.events[index][1].end.offset > lineStartOffset) + ) { + // Exit: there’s still something open, which means it’s a lazy line + // part of something. + return + } + } + + // Note: this algorithm for moving events around is similar to the + // algorithm when closing flow in `documentContinue`. + const indexBeforeExits = self.events.length + let indexBeforeFlow = indexBeforeExits + /** @type {boolean | undefined} */ + let seen + /** @type {Point | undefined} */ + let point + + // Find the previous chunk (the one before the lazy line). + while (indexBeforeFlow--) { + if ( + self.events[indexBeforeFlow][0] === 'exit' && + self.events[indexBeforeFlow][1].type === 'chunkFlow' + ) { + if (seen) { + point = self.events[indexBeforeFlow][1].end + break + } + seen = true + } + } + exitContainers(continued) + + // Fix positions. + index = indexBeforeExits + while (index < self.events.length) { + self.events[index][1].end = Object.assign({}, point) + index++ + } + + // Inject the exits earlier (they’re still also at the end). + splice( + self.events, + indexBeforeFlow + 1, + 0, + self.events.slice(indexBeforeExits) + ) + + // Discard the duplicate exits. + self.events.length = index + } + } + + /** + * @param {number} size + * @returns {void} + */ + function exitContainers(size) { + let index = stack.length + + // Exit open containers. + while (index-- > size) { + const entry = stack[index] + self.containerState = entry[1] + entry[0].exit.call(self, effects) + } + stack.length = size + } + function closeFlow() { + childFlow.write([null]) + childToken = undefined + childFlow = undefined + self.containerState._closeFlow = undefined + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContainer(effects, ok, nok) { + // Always populated by defaults. + + return factorySpace( + effects, + effects.attempt(this.parser.constructs.document, ok, nok), + 'linePrefix', + this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + ) +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/flow.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/flow.js new file mode 100644 index 0000000000..cb3aaa37d3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/flow.js @@ -0,0 +1,68 @@ +/** + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +import {blankLine, content} from 'micromark-core-commonmark' +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {InitialConstruct} */ +export const flow = { + tokenize: initializeFlow +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeFlow(effects) { + const self = this + const initial = effects.attempt( + // Try to parse a blank line. + blankLine, + atBlankEnding, + // Try to parse initial flow (essentially, only code). + effects.attempt( + this.parser.constructs.flowInitial, + afterConstruct, + factorySpace( + effects, + effects.attempt( + this.parser.constructs.flow, + afterConstruct, + effects.attempt(content, afterConstruct) + ), + 'linePrefix' + ) + ) + ) + return initial + + /** @type {State} */ + function atBlankEnding(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEndingBlank') + effects.consume(code) + effects.exit('lineEndingBlank') + self.currentConstruct = undefined + return initial + } + + /** @type {State} */ + function afterConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + self.currentConstruct = undefined + return initial + } +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/text.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/text.js new file mode 100644 index 0000000000..fc9546fc1e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/initialize/text.js @@ -0,0 +1,210 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +export const resolver = { + resolveAll: createResolver() +} +export const string = initializeFactory('string') +export const text = initializeFactory('text') + +/** + * @param {'string' | 'text'} field + * @returns {InitialConstruct} + */ +function initializeFactory(field) { + return { + tokenize: initializeText, + resolveAll: createResolver( + field === 'text' ? resolveAllLineSuffixes : undefined + ) + } + + /** + * @this {TokenizeContext} + * @type {Initializer} + */ + function initializeText(effects) { + const self = this + const constructs = this.parser.constructs[field] + const text = effects.attempt(constructs, start, notText) + return start + + /** @type {State} */ + function start(code) { + return atBreak(code) ? text(code) : notText(code) + } + + /** @type {State} */ + function notText(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('data') + effects.consume(code) + return data + } + + /** @type {State} */ + function data(code) { + if (atBreak(code)) { + effects.exit('data') + return text(code) + } + + // Data. + effects.consume(code) + return data + } + + /** + * @param {Code} code + * @returns {boolean} + */ + function atBreak(code) { + if (code === null) { + return true + } + const list = constructs[code] + let index = -1 + if (list) { + // Always populated by defaults. + + while (++index < list.length) { + const item = list[index] + if (!item.previous || item.previous.call(self, self.previous)) { + return true + } + } + } + return false + } + } +} + +/** + * @param {Resolver | undefined} [extraResolver] + * @returns {Resolver} + */ +function createResolver(extraResolver) { + return resolveAllText + + /** @type {Resolver} */ + function resolveAllText(events, context) { + let index = -1 + /** @type {number | undefined} */ + let enter + + // A rather boring computation (to merge adjacent `data` events) which + // improves mm performance by 29%. + while (++index <= events.length) { + if (enter === undefined) { + if (events[index] && events[index][1].type === 'data') { + enter = index + index++ + } + } else if (!events[index] || events[index][1].type !== 'data') { + // Don’t do anything if there is one data token. + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + index = enter + 2 + } + enter = undefined + } + } + return extraResolver ? extraResolver(events, context) : events + } +} + +/** + * A rather ugly set of instructions which again looks at chunks in the input + * stream. + * The reason to do this here is that it is *much* faster to parse in reverse. + * And that we can’t hook into `null` to split the line suffix before an EOF. + * To do: figure out if we can make this into a clean utility, or even in core. + * As it will be useful for GFMs literal autolink extension (and maybe even + * tables?) + * + * @type {Resolver} + */ +function resolveAllLineSuffixes(events, context) { + let eventIndex = 0 // Skip first. + + while (++eventIndex <= events.length) { + if ( + (eventIndex === events.length || + events[eventIndex][1].type === 'lineEnding') && + events[eventIndex - 1][1].type === 'data' + ) { + const data = events[eventIndex - 1][1] + const chunks = context.sliceStream(data) + let index = chunks.length + let bufferIndex = -1 + let size = 0 + /** @type {boolean | undefined} */ + let tabs + while (index--) { + const chunk = chunks[index] + if (typeof chunk === 'string') { + bufferIndex = chunk.length + while (chunk.charCodeAt(bufferIndex - 1) === 32) { + size++ + bufferIndex-- + } + if (bufferIndex) break + bufferIndex = -1 + } + // Number + else if (chunk === -2) { + tabs = true + size++ + } else if (chunk === -1) { + // Empty + } else { + // Replacement character, exit. + index++ + break + } + } + if (size) { + const token = { + type: + eventIndex === events.length || tabs || size < 2 + ? 'lineSuffix' + : 'hardBreakTrailing', + start: { + line: data.end.line, + column: data.end.column - size, + offset: data.end.offset - size, + _index: data.start._index + index, + _bufferIndex: index + ? bufferIndex + : data.start._bufferIndex + bufferIndex + }, + end: Object.assign({}, data.end) + } + data.end = Object.assign({}, token.start) + if (data.start.offset === data.end.offset) { + Object.assign(data, token) + } else { + events.splice( + eventIndex, + 0, + ['enter', token, context], + ['exit', token, context] + ) + eventIndex += 2 + } + } + eventIndex++ + } + } + return events +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/parse.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/parse.js new file mode 100644 index 0000000000..ec0b3f270e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/parse.js @@ -0,0 +1,50 @@ +/** + * @typedef {import('micromark-util-types').Create} Create + * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').ParseContext} ParseContext + * @typedef {import('micromark-util-types').ParseOptions} ParseOptions + */ + +import {combineExtensions} from 'micromark-util-combine-extensions' +import {content} from './initialize/content.js' +import {document} from './initialize/document.js' +import {flow} from './initialize/flow.js' +import {text, string} from './initialize/text.js' +import {createTokenizer} from './create-tokenizer.js' +import * as defaultConstructs from './constructs.js' + +/** + * @param {ParseOptions | null | undefined} [options] + * @returns {ParseContext} + */ +export function parse(options) { + const settings = options || {} + const constructs = + /** @type {FullNormalizedExtension} */ + combineExtensions([defaultConstructs, ...(settings.extensions || [])]) + + /** @type {ParseContext} */ + const parser = { + defined: [], + lazy: {}, + constructs, + content: create(content), + document: create(document), + flow: create(flow), + string: create(string), + text: create(text) + } + return parser + + /** + * @param {InitialConstruct} initial + */ + function create(initial) { + return creator + /** @type {Create} */ + function creator(from) { + return createTokenizer(parser, initial, from) + } + } +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/postprocess.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/postprocess.js new file mode 100644 index 0000000000..466f12a99b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/postprocess.js @@ -0,0 +1,16 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + */ + +import {subtokenize} from 'micromark-util-subtokenize' + +/** + * @param {Array} events + * @returns {Array} + */ +export function postprocess(events) { + while (!subtokenize(events)) { + // Empty + } + return events +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/lib/preprocess.js b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/preprocess.js new file mode 100644 index 0000000000..33ce51bdf0 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/lib/preprocess.js @@ -0,0 +1,110 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Encoding} Encoding + * @typedef {import('micromark-util-types').Value} Value + */ + +/** + * @callback Preprocessor + * @param {Value} value + * @param {Encoding | null | undefined} [encoding] + * @param {boolean | null | undefined} [end=false] + * @returns {Array} + */ + +const search = /[\0\t\n\r]/g + +/** + * @returns {Preprocessor} + */ +export function preprocess() { + let column = 1 + let buffer = '' + /** @type {boolean | undefined} */ + let start = true + /** @type {boolean | undefined} */ + let atCarriageReturn + return preprocessor + + /** @type {Preprocessor} */ + function preprocessor(value, encoding, end) { + /** @type {Array} */ + const chunks = [] + /** @type {RegExpMatchArray | null} */ + let match + /** @type {number} */ + let next + /** @type {number} */ + let startPosition + /** @type {number} */ + let endPosition + /** @type {Code} */ + let code + + // @ts-expect-error `Buffer` does allow an encoding. + value = buffer + value.toString(encoding) + startPosition = 0 + buffer = '' + if (start) { + // To do: `markdown-rs` actually parses BOMs (byte order mark). + if (value.charCodeAt(0) === 65279) { + startPosition++ + } + start = undefined + } + while (startPosition < value.length) { + search.lastIndex = startPosition + match = search.exec(value) + endPosition = + match && match.index !== undefined ? match.index : value.length + code = value.charCodeAt(endPosition) + if (!match) { + buffer = value.slice(startPosition) + break + } + if (code === 10 && startPosition === endPosition && atCarriageReturn) { + chunks.push(-3) + atCarriageReturn = undefined + } else { + if (atCarriageReturn) { + chunks.push(-5) + atCarriageReturn = undefined + } + if (startPosition < endPosition) { + chunks.push(value.slice(startPosition, endPosition)) + column += endPosition - startPosition + } + switch (code) { + case 0: { + chunks.push(65533) + column++ + break + } + case 9: { + next = Math.ceil(column / 4) * 4 + chunks.push(-2) + while (column++ < next) chunks.push(-1) + break + } + case 10: { + chunks.push(-4) + column = 1 + break + } + default: { + atCarriageReturn = true + column = 1 + } + } + } + startPosition = endPosition + 1 + } + if (end) { + if (atCarriageReturn) chunks.push(-5) + if (buffer) chunks.push(buffer) + chunks.push(null) + } + return chunks + } +} diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-core-commonmark b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-core-commonmark new file mode 120000 index 0000000000..97e01a290f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-core-commonmark @@ -0,0 +1 @@ +../../micromark-core-commonmark@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..784a9eaf4b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..602cd5878e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..7449f9d875 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-combine-extensions b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-combine-extensions new file mode 120000 index 0000000000..7c5624c254 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-combine-extensions @@ -0,0 +1 @@ +../../micromark-util-combine-extensions@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-resolve-all b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..f5da13406a --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +../../micromark-util-resolve-all@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-subtokenize b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-subtokenize new file mode 120000 index 0000000000..a2197ea4c2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/node_modules/micromark-util-subtokenize @@ -0,0 +1 @@ +../../micromark-util-subtokenize@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@3.2.0/package.json b/.output/server/node_modules/.nitro/micromark@3.2.0/package.json new file mode 100644 index 0000000000..556d757549 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@3.2.0/package.json @@ -0,0 +1,140 @@ +{ + "name": "micromark", + "version": "3.2.0", + "description": "small commonmark compliant markdown parser with positional info and concrete tokens", + "license": "MIT", + "keywords": [ + "commonmark", + "compiler", + "gfm", + "html", + "lexer", + "markdown", + "markup", + "md", + "unified", + "parse", + "parser", + "plugin", + "process", + "remark", + "render", + "renderer", + "token", + "tokenizer" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "dev/index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js", + "stream.d.ts", + "stream.js" + ], + "exports": { + ".": { + "types": "./dev/index.d.ts", + "development": "./dev/index.js", + "default": "./index.js" + }, + "./stream": { + "types": "./dev/stream.d.ts", + "development": "./dev/stream.js", + "default": "./stream.js" + }, + "./stream.js": { + "types": "./dev/stream.d.ts", + "development": "./dev/stream.js", + "default": "./stream.js" + }, + "./lib/compile": { + "types": "./dev/lib/compile.d.ts", + "development": "./dev/lib/compile.js", + "default": "./lib/compile.js" + }, + "./lib/compile.js": { + "types": "./dev/lib/compile.d.ts", + "development": "./dev/lib/compile.js", + "default": "./lib/compile.js" + }, + "./lib/parse": { + "types": "./dev/lib/parse.d.ts", + "development": "./dev/lib/parse.js", + "default": "./lib/parse.js" + }, + "./lib/parse.js": { + "types": "./dev/lib/parse.d.ts", + "development": "./dev/lib/parse.js", + "default": "./lib/parse.js" + }, + "./lib/postprocess": { + "types": "./dev/lib/postprocess.d.ts", + "development": "./dev/lib/postprocess.js", + "default": "./lib/postprocess.js" + }, + "./lib/postprocess.js": { + "types": "./dev/lib/postprocess.d.ts", + "development": "./dev/lib/postprocess.js", + "default": "./lib/postprocess.js" + }, + "./lib/preprocess": { + "types": "./dev/lib/preprocess.d.ts", + "development": "./dev/lib/preprocess.js", + "default": "./lib/preprocess.js" + }, + "./lib/preprocess.js": { + "types": "./dev/lib/preprocess.d.ts", + "development": "./dev/lib/preprocess.js", + "default": "./lib/preprocess.js" + } + }, + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "decode-named-character-reference": "^1.0.0", + "uvu": "^0.5.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/index.js b/.output/server/node_modules/.nitro/micromark@4.0.0/index.js new file mode 100644 index 0000000000..6f2621f8e0 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/index.js @@ -0,0 +1,62 @@ +/** + * @typedef {import('micromark-util-types').Encoding} Encoding + * @typedef {import('micromark-util-types').Options} Options + * @typedef {import('micromark-util-types').Value} Value + */ + +import {compile} from './lib/compile.js' +import {parse} from './lib/parse.js' +import {postprocess} from './lib/postprocess.js' +import {preprocess} from './lib/preprocess.js' +export {compile} from './lib/compile.js' +export {parse} from './lib/parse.js' +export {postprocess} from './lib/postprocess.js' +export {preprocess} from './lib/preprocess.js' + +/** + * Compile markdown to HTML. + * + * > Note: which encodings are supported depends on the engine. + * > For info on Node.js, see: + * > . + * + * @overload + * @param {Value} value + * Markdown to parse (`string` or `Uint8Array`). + * @param {Encoding | null | undefined} encoding + * Character encoding to understand `value` as when it’s a `Uint8Array` + * (`string`, default: `'utf8'`). + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {string} + * Compiled HTML. + * + * @overload + * @param {Value} value + * Markdown to parse (`string` or `Uint8Array`). + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {string} + * Compiled HTML. + * + * @param {Value} value + * Markdown to parse (`string` or `Uint8Array`). + * @param {Encoding | Options | null | undefined} [encoding] + * Character encoding to understand `value` as when it’s a `Uint8Array` + * (`string`, default: `'utf8'`). + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {string} + * Compiled HTML. + */ +export function micromark(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + return compile(options)( + postprocess( + parse(options).document().write(preprocess()(value, encoding, true)) + ) + ) +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/compile.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/compile.js new file mode 100644 index 0000000000..63535d81f8 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/compile.js @@ -0,0 +1,1109 @@ +/** + * While micromark is a lexer/tokenizer, the common case of going from markdown + * to html is currently built in as this module, even though the parts can be + * used separately to build ASTs, CSTs, or many other output formats. + * + * Having an HTML compiler built in is useful because it allows us to check for + * compliancy to CommonMark, the de facto norm of markdown, specified in roughly + * 600 input/output cases. + * + * This module has an interface that accepts lists of events instead of the + * whole at once, however, because markdown can’t be truly streaming, we buffer + * events before processing and outputting the final result. + */ + +/** + * @typedef {import('micromark-util-types').Compile} Compile + * @typedef {import('micromark-util-types').CompileContext} CompileContext + * @typedef {import('micromark-util-types').CompileData} CompileData + * @typedef {import('micromark-util-types').CompileOptions} CompileOptions + * @typedef {import('micromark-util-types').Definition} Definition + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Handle} Handle + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + * @typedef {import('micromark-util-types').NormalizedHtmlExtension} NormalizedHtmlExtension + * @typedef {import('micromark-util-types').Token} Token + */ + +/** + * @typedef Media + * @property {boolean | undefined} [image] + * @property {string | undefined} [labelId] + * @property {string | undefined} [label] + * @property {string | undefined} [referenceId] + * @property {string | undefined} [destination] + * @property {string | undefined} [title] + */ + +import {decodeNamedCharacterReference} from 'decode-named-character-reference' +import {push} from 'micromark-util-chunked' +import {combineHtmlExtensions} from 'micromark-util-combine-extensions' +import {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference' +import {encode as _encode} from 'micromark-util-encode' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +import {sanitizeUri} from 'micromark-util-sanitize-uri' +const hasOwnProperty = {}.hasOwnProperty + +/** + * These two are allowlists of safe protocols for full URLs in respectively the + * `href` (on ``) and `src` (on ``) attributes. + * They are based on what is allowed on GitHub, + * + */ +const protocolHref = /^(https?|ircs?|mailto|xmpp)$/i +const protocolSrc = /^https?$/i + +/** + * @param {CompileOptions | null | undefined} [options] + * @returns {Compile} + */ +export function compile(options) { + const settings = options || {} + + /** + * Tags is needed because according to markdown, links and emphasis and + * whatnot can exist in images, however, as HTML doesn’t allow content in + * images, the tags are ignored in the `alt` attribute, but the content + * remains. + * + * @type {boolean | undefined} + */ + let tags = true + + /** + * An object to track identifiers to media (URLs and titles) defined with + * definitions. + * + * @type {Record} + */ + const definitions = {} + + /** + * A lot of the handlers need to capture some of the output data, modify it + * somehow, and then deal with it. + * We do that by tracking a stack of buffers, that can be opened (with + * `buffer`) and closed (with `resume`) to access them. + * + * @type {Array>} + */ + const buffers = [[]] + + /** + * As we can have links in images and the other way around, where the deepest + * ones are closed first, we need to track which one we’re in. + * + * @type {Array} + */ + const mediaStack = [] + + /** + * Same as `mediaStack` for tightness, which is specific to lists. + * We need to track if we’re currently in a tight or loose container. + * + * @type {Array} + */ + const tightStack = [] + + /** @type {HtmlExtension} */ + const defaultHandlers = { + enter: { + blockQuote: onenterblockquote, + codeFenced: onentercodefenced, + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: onentercodeindented, + codeText: onentercodetext, + content: onentercontent, + definition: onenterdefinition, + definitionDestinationString: onenterdefinitiondestinationstring, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: onenteremphasis, + htmlFlow: onenterhtmlflow, + htmlText: onenterhtml, + image: onenterimage, + label: buffer, + link: onenterlink, + listItemMarker: onenterlistitemmarker, + listItemValue: onenterlistitemvalue, + listOrdered: onenterlistordered, + listUnordered: onenterlistunordered, + paragraph: onenterparagraph, + reference: buffer, + resource: onenterresource, + resourceDestinationString: onenterresourcedestinationstring, + resourceTitleString: buffer, + setextHeading: onentersetextheading, + strong: onenterstrong + }, + exit: { + atxHeading: onexitatxheading, + atxHeadingSequence: onexitatxheadingsequence, + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: onexitblockquote, + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: onexitflowcode, + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: onresumedrop, + codeFlowValue: onexitcodeflowvalue, + codeIndented: onexitflowcode, + codeText: onexitcodetext, + codeTextData: onexitdata, + data: onexitdata, + definition: onexitdefinition, + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: onexitemphasis, + hardBreakEscape: onexithardbreak, + hardBreakTrailing: onexithardbreak, + htmlFlow: onexithtml, + htmlFlowData: onexitdata, + htmlText: onexithtml, + htmlTextData: onexitdata, + image: onexitmedia, + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: onexitmedia, + listOrdered: onexitlistordered, + listUnordered: onexitlistunordered, + paragraph: onexitparagraph, + reference: onresumedrop, + referenceString: onexitreferencestring, + resource: onresumedrop, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + setextHeading: onexitsetextheading, + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: onexitstrong, + thematicBreak: onexitthematicbreak + } + } + + /** + * Combine the HTML extensions with the default handlers. + * An HTML extension is an object whose fields are either `enter` or `exit` + * (reflecting whether a token is entered or exited). + * The values at such objects are names of tokens mapping to handlers. + * Handlers are called, respectively when a token is opener or closed, with + * that token, and a context as `this`. + */ + const handlers = + /** @type {NormalizedHtmlExtension} */ + combineHtmlExtensions( + [defaultHandlers].concat(settings.htmlExtensions || []) + ) + + /** + * Handlers do often need to keep track of some state. + * That state is provided here as a key-value store (an object). + * + * @type {CompileData} + */ + const data = { + tightStack, + definitions + } + + /** + * The context for handlers references a couple of useful functions. + * In handlers from extensions, those can be accessed at `this`. + * For the handlers here, they can be accessed directly. + * + * @type {Omit} + */ + const context = { + lineEndingIfNeeded, + options: settings, + encode, + raw, + tag, + buffer, + resume, + setData, + getData + } + + /** + * Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the + * markdown document over to the compiled HTML. + * In some cases, such as `> a`, CommonMark requires that extra line endings + * are added: `
    \n

    a

    \n
    `. + * This variable hold the default line ending when given (or `undefined`), + * and in the latter case will be updated to the first found line ending if + * there is one. + */ + let lineEndingStyle = settings.defaultLineEnding + + // Return the function that handles a slice of events. + return compile + + /** + * Deal w/ a slice of events. + * Return either the empty string if there’s nothing of note to return, or the + * result when done. + * + * @param {Array} events + * @returns {string} + */ + function compile(events) { + let index = -1 + let start = 0 + /** @type {Array} */ + const listStack = [] + // As definitions can come after references, we need to figure out the media + // (urls and titles) defined by them before handling the references. + // So, we do sort of what HTML does: put metadata at the start (in head), and + // then put content after (`body`). + /** @type {Array} */ + let head = [] + /** @type {Array} */ + let body = [] + while (++index < events.length) { + // Figure out the line ending style used in the document. + if ( + !lineEndingStyle && + (events[index][1].type === 'lineEnding' || + events[index][1].type === 'lineEndingBlank') + ) { + // @ts-expect-error Hush, it’s a line ending. + lineEndingStyle = events[index][2].sliceSerialize(events[index][1]) + } + + // Preprocess lists to infer whether the list is loose or not. + if ( + events[index][1].type === 'listOrdered' || + events[index][1].type === 'listUnordered' + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + prepareList(events.slice(listStack.pop(), index)) + } + } + + // Move definitions to the front. + if (events[index][1].type === 'definition') { + if (events[index][0] === 'enter') { + body = push(body, events.slice(start, index)) + start = index + } else { + head = push(head, events.slice(start, index + 1)) + start = index + 1 + } + } + } + head = push(head, body) + head = push(head, events.slice(start)) + index = -1 + const result = head + + // Handle the start of the document, if defined. + if (handlers.enter.null) { + handlers.enter.null.call(context) + } + + // Handle all events. + while (++index < events.length) { + const handles = handlers[result[index][0]] + const kind = result[index][1].type + const handle = handles[kind] + if (hasOwnProperty.call(handles, kind) && handle) { + handle.call( + Object.assign( + { + sliceSerialize: result[index][2].sliceSerialize + }, + context + ), + result[index][1] + ) + } + } + + // Handle the end of the document, if defined. + if (handlers.exit.null) { + handlers.exit.null.call(context) + } + return buffers[0].join('') + } + + /** + * Figure out whether lists are loose or not. + * + * @param {Array} slice + * @returns {undefined} + */ + function prepareList(slice) { + const length = slice.length + let index = 0 // Skip open. + let containerBalance = 0 + let loose = false + /** @type {boolean | undefined} */ + let atMarker + while (++index < length) { + const event = slice[index] + if (event[1]._container) { + atMarker = undefined + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + } else + switch (event[1].type) { + case 'listItemPrefix': { + if (event[0] === 'exit') { + atMarker = true + } + break + } + case 'linePrefix': { + // Ignore + + break + } + case 'lineEndingBlank': { + if (event[0] === 'enter' && !containerBalance) { + if (atMarker) { + atMarker = undefined + } else { + loose = true + } + } + break + } + default: { + atMarker = undefined + } + } + } + slice[0][1]._loose = loose + } + + /** + * @type {CompileContext['setData']} + */ + function setData(key, value) { + // @ts-expect-error: assume `value` is omitted (`undefined` is passed) only + // if allowed. + data[key] = value + } + + /** + * @type {CompileContext['getData']} + */ + function getData(key) { + return data[key] + } + + /** @type {CompileContext['buffer']} */ + function buffer() { + buffers.push([]) + } + + /** @type {CompileContext['resume']} */ + function resume() { + const buf = buffers.pop() + return buf.join('') + } + + /** @type {CompileContext['tag']} */ + function tag(value) { + if (!tags) return + setData('lastWasTag', true) + buffers[buffers.length - 1].push(value) + } + + /** @type {CompileContext['raw']} */ + function raw(value) { + setData('lastWasTag') + buffers[buffers.length - 1].push(value) + } + + /** + * Output an extra line ending. + * + * @returns {undefined} + */ + function lineEnding() { + raw(lineEndingStyle || '\n') + } + + /** @type {CompileContext['lineEndingIfNeeded']} */ + function lineEndingIfNeeded() { + const buffer = buffers[buffers.length - 1] + const slice = buffer[buffer.length - 1] + const previous = slice ? slice.charCodeAt(slice.length - 1) : null + if (previous === 10 || previous === 13 || previous === null) { + return + } + lineEnding() + } + + /** @type {CompileContext['encode']} */ + function encode(value) { + return getData('ignoreEncode') ? value : _encode(value) + } + + // + // Handlers. + // + + /** + * @returns {undefined} + */ + function onresumedrop() { + resume() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterlistordered(token) { + tightStack.push(!token._loose) + lineEndingIfNeeded() + tag('') + } else { + onexitlistitem() + } + lineEndingIfNeeded() + tag('
  • ') + setData('expectFirstItem') + // “Hack” to prevent a line ending from showing up if the item is empty. + setData('lastWasTag') + } + + /** + * @returns {undefined} + */ + function onexitlistordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + /** + * @returns {undefined} + */ + function onexitlistunordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + /** + * @returns {undefined} + */ + function onexitlistitem() { + if (getData('lastWasTag') && !getData('slurpAllLineEndings')) { + lineEndingIfNeeded() + } + tag('
  • ') + setData('slurpAllLineEndings') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterblockquote() { + tightStack.push(false) + lineEndingIfNeeded() + tag('
    ') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitblockquote() { + tightStack.pop() + lineEndingIfNeeded() + tag('
    ') + setData('slurpAllLineEndings') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterparagraph() { + if (!tightStack[tightStack.length - 1]) { + lineEndingIfNeeded() + tag('

    ') + } + setData('slurpAllLineEndings') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitparagraph() { + if (tightStack[tightStack.length - 1]) { + setData('slurpAllLineEndings', true) + } else { + tag('

    ') + } + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onentercodefenced() { + lineEndingIfNeeded() + tag('
    ')
    +      setData('slurpOneLineEnding', true)
    +    }
    +    setData('fencesCount', count + 1)
    +  }
    +
    +  /**
    +   * @this {CompileContext}
    +   * @type {Handle}
    +   */
    +  function onentercodeindented() {
    +    lineEndingIfNeeded()
    +    tag('
    ')
    +  }
    +
    +  /**
    +   * @this {CompileContext}
    +   * @type {Handle}
    +   */
    +  function onexitflowcode() {
    +    const count = getData('fencesCount')
    +
    +    // One special case is if we are inside a container, and the fenced code was
    +    // not closed (meaning it runs to the end).
    +    // In that case, the following line ending, is considered *outside* the
    +    // fenced code and block quote by micromark, but CM wants to treat that
    +    // ending as part of the code.
    +    if (
    +      count !== undefined &&
    +      count < 2 &&
    +      data.tightStack.length > 0 &&
    +      !getData('lastWasTag')
    +    ) {
    +      lineEnding()
    +    }
    +
    +    // But in most cases, it’s simpler: when we’ve seen some data, emit an extra
    +    // line ending when needed.
    +    if (getData('flowCodeSeenData')) {
    +      lineEndingIfNeeded()
    +    }
    +    tag('
    ') + if (count !== undefined && count < 2) lineEndingIfNeeded() + setData('flowCodeSeenData') + setData('fencesCount') + setData('slurpOneLineEnding') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterimage() { + mediaStack.push({ + image: true + }) + tags = undefined // Disallow tags. + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterlink() { + mediaStack.push({}) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitlabeltext(token) { + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitlabel() { + mediaStack[mediaStack.length - 1].label = resume() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitreferencestring(token) { + mediaStack[mediaStack.length - 1].referenceId = this.sliceSerialize(token) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterresource() { + buffer() // We can have line endings in the resource, ignore them. + mediaStack[mediaStack.length - 1].destination = '' + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterresourcedestinationstring() { + buffer() + // Ignore encoding the result, as we’ll first percent encode the url and + // encode manually after. + setData('ignoreEncode', true) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitresourcedestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitresourcetitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitmedia() { + let index = mediaStack.length - 1 // Skip current. + const media = mediaStack[index] + const id = media.referenceId || media.labelId + const context = + media.destination === undefined + ? definitions[normalizeIdentifier(id)] + : media + tags = true + while (index--) { + if (mediaStack[index].image) { + tags = undefined + break + } + } + if (media.image) { + tag( + ''
+      )
+      raw(media.label)
+      tag('') + } else { + tag('>') + raw(media.label) + tag('
    ') + } + mediaStack.pop() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterdefinition() { + buffer() + mediaStack.push({}) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + resume() + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onenterdefinitiondestinationstring() { + buffer() + setData('ignoreEncode', true) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitdefinitiondestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitdefinitiontitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitdefinition() { + const media = mediaStack[mediaStack.length - 1] + const id = normalizeIdentifier(media.labelId) + resume() + if (!hasOwnProperty.call(definitions, id)) { + definitions[id] = mediaStack[mediaStack.length - 1] + } + mediaStack.pop() + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onentercontent() { + setData('slurpAllLineEndings', true) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitatxheadingsequence(token) { + // Exit for further sequences. + if (getData('headingRank')) return + setData('headingRank', this.sliceSerialize(token).length) + lineEndingIfNeeded() + tag('') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onentersetextheading() { + buffer() + setData('slurpAllLineEndings') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitsetextheadingtext() { + setData('slurpAllLineEndings', true) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitatxheading() { + tag('') + setData('headingRank') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitsetextheadinglinesequence(token) { + setData( + 'headingRank', + this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2 + ) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitsetextheading() { + const value = resume() + lineEndingIfNeeded() + tag('') + raw(value) + tag('') + setData('slurpAllLineEndings') + setData('headingRank') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitdata(token) { + raw(encode(this.sliceSerialize(token))) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitlineending(token) { + if (getData('slurpAllLineEndings')) { + return + } + if (getData('slurpOneLineEnding')) { + setData('slurpOneLineEnding') + return + } + if (getData('inCodeText')) { + raw(' ') + return + } + raw(encode(this.sliceSerialize(token))) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitcodeflowvalue(token) { + raw(encode(this.sliceSerialize(token))) + setData('flowCodeSeenData', true) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexithardbreak() { + tag('
    ') + } + + /** + * @returns {undefined} + */ + function onenterhtmlflow() { + lineEndingIfNeeded() + onenterhtml() + } + + /** + * @returns {undefined} + */ + function onexithtml() { + setData('ignoreEncode') + } + + /** + * @returns {undefined} + */ + function onenterhtml() { + if (settings.allowDangerousHtml) { + setData('ignoreEncode', true) + } + } + + /** + * @returns {undefined} + */ + function onenteremphasis() { + tag('') + } + + /** + * @returns {undefined} + */ + function onenterstrong() { + tag('') + } + + /** + * @returns {undefined} + */ + function onentercodetext() { + setData('inCodeText', true) + tag('') + } + + /** + * @returns {undefined} + */ + function onexitcodetext() { + setData('inCodeText') + tag('') + } + + /** + * @returns {undefined} + */ + function onexitemphasis() { + tag('') + } + + /** + * @returns {undefined} + */ + function onexitstrong() { + tag('') + } + + /** + * @returns {undefined} + */ + function onexitthematicbreak() { + lineEndingIfNeeded() + tag('
    ') + } + + /** + * @this {CompileContext} + * @param {Token} token + * @returns {undefined} + */ + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitcharacterreferencevalue(token) { + let value = this.sliceSerialize(token) + + // @ts-expect-error `decodeNamedCharacterReference` can return false for + // invalid named character references, but everything we’ve tokenized is + // valid. + value = getData('characterReferenceType') + ? decodeNumericCharacterReference( + value, + getData('characterReferenceType') === + 'characterReferenceMarkerNumeric' + ? 10 + : 16 + ) + : decodeNamedCharacterReference(value) + raw(encode(value)) + setData('characterReferenceType') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitautolinkprotocol(token) { + const uri = this.sliceSerialize(token) + tag( + '' + ) + raw(encode(uri)) + tag('') + } + + /** + * @this {CompileContext} + * @type {Handle} + */ + function onexitautolinkemail(token) { + const uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/constructs.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/constructs.js new file mode 100644 index 0000000000..81554f74f9 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/constructs.js @@ -0,0 +1,106 @@ +/** + * @typedef {import('micromark-util-types').Extension} Extension + */ + +import { + attention, + autolink, + blockQuote, + characterEscape, + characterReference, + codeFenced, + codeIndented, + codeText, + definition, + hardBreakEscape, + headingAtx, + htmlFlow, + htmlText, + labelEnd, + labelStartImage, + labelStartLink, + lineEnding, + list, + setextUnderline, + thematicBreak +} from 'micromark-core-commonmark' +import {resolver as resolveText} from './initialize/text.js' + +/** @satisfies {Extension['document']} */ +export const document = { + [42]: list, + [43]: list, + [45]: list, + [48]: list, + [49]: list, + [50]: list, + [51]: list, + [52]: list, + [53]: list, + [54]: list, + [55]: list, + [56]: list, + [57]: list, + [62]: blockQuote +} + +/** @satisfies {Extension['contentInitial']} */ +export const contentInitial = { + [91]: definition +} + +/** @satisfies {Extension['flowInitial']} */ +export const flowInitial = { + [-2]: codeIndented, + [-1]: codeIndented, + [32]: codeIndented +} + +/** @satisfies {Extension['flow']} */ +export const flow = { + [35]: headingAtx, + [42]: thematicBreak, + [45]: [setextUnderline, thematicBreak], + [60]: htmlFlow, + [61]: setextUnderline, + [95]: thematicBreak, + [96]: codeFenced, + [126]: codeFenced +} + +/** @satisfies {Extension['string']} */ +export const string = { + [38]: characterReference, + [92]: characterEscape +} + +/** @satisfies {Extension['text']} */ +export const text = { + [-5]: lineEnding, + [-4]: lineEnding, + [-3]: lineEnding, + [33]: labelStartImage, + [38]: characterReference, + [42]: attention, + [60]: [autolink, htmlText], + [91]: labelStartLink, + [92]: [hardBreakEscape, characterEscape], + [93]: labelEnd, + [95]: attention, + [96]: codeText +} + +/** @satisfies {Extension['insideSpan']} */ +export const insideSpan = { + null: [attention, resolveText] +} + +/** @satisfies {Extension['attentionMarkers']} */ +export const attentionMarkers = { + null: [42, 95] +} + +/** @satisfies {Extension['disable']} */ +export const disable = { + null: [] +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/create-tokenizer.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/create-tokenizer.js new file mode 100644 index 0000000000..30054f6833 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/create-tokenizer.js @@ -0,0 +1,582 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord + * @typedef {import('micromark-util-types').Effects} Effects + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').ParseContext} ParseContext + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenType} TokenType + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +/** + * @callback Restore + * @returns {undefined} + * + * @typedef Info + * @property {Restore} restore + * @property {number} from + * + * @callback ReturnHandle + * Handle a successful run. + * @param {Construct} construct + * @param {Info} info + * @returns {undefined} + */ + +import {markdownLineEnding} from 'micromark-util-character' +import {push, splice} from 'micromark-util-chunked' +import {resolveAll} from 'micromark-util-resolve-all' +/** + * Create a tokenizer. + * Tokenizers deal with one type of data (e.g., containers, flow, text). + * The parser is the object dealing with it all. + * `initialize` works like other constructs, except that only its `tokenize` + * function is used, in which case it doesn’t receive an `ok` or `nok`. + * `from` can be given to set the point before the first character, although + * when further lines are indented, they must be set with `defineSkip`. + * + * @param {ParseContext} parser + * @param {InitialConstruct} initialize + * @param {Omit | undefined} [from] + * @returns {TokenizeContext} + */ +export function createTokenizer(parser, initialize, from) { + /** @type {Point} */ + let point = Object.assign( + from + ? Object.assign({}, from) + : { + line: 1, + column: 1, + offset: 0 + }, + { + _index: 0, + _bufferIndex: -1 + } + ) + /** @type {Record} */ + const columnStart = {} + /** @type {Array} */ + const resolveAllConstructs = [] + /** @type {Array} */ + let chunks = [] + /** @type {Array} */ + let stack = [] + /** @type {boolean | undefined} */ + let consumed = true + + /** + * Tools used for tokenizing. + * + * @type {Effects} + */ + const effects = { + consume, + enter, + exit, + attempt: constructFactory(onsuccessfulconstruct), + check: constructFactory(onsuccessfulcheck), + interrupt: constructFactory(onsuccessfulcheck, { + interrupt: true + }) + } + + /** + * State and tools for resolving and serializing. + * + * @type {TokenizeContext} + */ + const context = { + previous: null, + code: null, + containerState: {}, + events: [], + parser, + sliceStream, + sliceSerialize, + now, + defineSkip, + write + } + + /** + * The state function. + * + * @type {State | undefined} + */ + let state = initialize.tokenize.call(context, effects) + + /** + * Track which character we expect to be consumed, to catch bugs. + * + * @type {Code} + */ + let expectedCode + if (initialize.resolveAll) { + resolveAllConstructs.push(initialize) + } + return context + + /** @type {TokenizeContext['write']} */ + function write(slice) { + chunks = push(chunks, slice) + main() + + // Exit if we’re not done, resolve might change stuff. + if (chunks[chunks.length - 1] !== null) { + return [] + } + addResult(initialize, 0) + + // Otherwise, resolve, and exit. + context.events = resolveAll(resolveAllConstructs, context.events, context) + return context.events + } + + // + // Tools. + // + + /** @type {TokenizeContext['sliceSerialize']} */ + function sliceSerialize(token, expandTabs) { + return serializeChunks(sliceStream(token), expandTabs) + } + + /** @type {TokenizeContext['sliceStream']} */ + function sliceStream(token) { + return sliceChunks(chunks, token) + } + + /** @type {TokenizeContext['now']} */ + function now() { + // This is a hot path, so we clone manually instead of `Object.assign({}, point)` + const {line, column, offset, _index, _bufferIndex} = point + return { + line, + column, + offset, + _index, + _bufferIndex + } + } + + /** @type {TokenizeContext['defineSkip']} */ + function defineSkip(value) { + columnStart[value.line] = value.column + accountForPotentialSkip() + } + + // + // State management. + // + + /** + * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by + * `consume`). + * Here is where we walk through the chunks, which either include strings of + * several characters, or numerical character codes. + * The reason to do this in a loop instead of a call is so the stack can + * drain. + * + * @returns {undefined} + */ + function main() { + /** @type {number} */ + let chunkIndex + while (point._index < chunks.length) { + const chunk = chunks[point._index] + + // If we’re in a buffer chunk, loop through it. + if (typeof chunk === 'string') { + chunkIndex = point._index + if (point._bufferIndex < 0) { + point._bufferIndex = 0 + } + while ( + point._index === chunkIndex && + point._bufferIndex < chunk.length + ) { + go(chunk.charCodeAt(point._bufferIndex)) + } + } else { + go(chunk) + } + } + } + + /** + * Deal with one code. + * + * @param {Code} code + * @returns {undefined} + */ + function go(code) { + consumed = undefined + expectedCode = code + state = state(code) + } + + /** @type {Effects['consume']} */ + function consume(code) { + if (markdownLineEnding(code)) { + point.line++ + point.column = 1 + point.offset += code === -3 ? 2 : 1 + accountForPotentialSkip() + } else if (code !== -1) { + point.column++ + point.offset++ + } + + // Not in a string chunk. + if (point._bufferIndex < 0) { + point._index++ + } else { + point._bufferIndex++ + + // At end of string chunk. + // @ts-expect-error Points w/ non-negative `_bufferIndex` reference + // strings. + if (point._bufferIndex === chunks[point._index].length) { + point._bufferIndex = -1 + point._index++ + } + } + + // Expose the previous character. + context.previous = code + + // Mark as consumed. + consumed = true + } + + /** @type {Effects['enter']} */ + function enter(type, fields) { + /** @type {Token} */ + // @ts-expect-error Patch instead of assign required fields to help GC. + const token = fields || {} + token.type = type + token.start = now() + context.events.push(['enter', token, context]) + stack.push(token) + return token + } + + /** @type {Effects['exit']} */ + function exit(type) { + const token = stack.pop() + token.end = now() + context.events.push(['exit', token, context]) + return token + } + + /** + * Use results. + * + * @type {ReturnHandle} + */ + function onsuccessfulconstruct(construct, info) { + addResult(construct, info.from) + } + + /** + * Discard results. + * + * @type {ReturnHandle} + */ + function onsuccessfulcheck(_, info) { + info.restore() + } + + /** + * Factory to attempt/check/interrupt. + * + * @param {ReturnHandle} onreturn + * @param {{interrupt?: boolean | undefined} | undefined} [fields] + */ + function constructFactory(onreturn, fields) { + return hook + + /** + * Handle either an object mapping codes to constructs, a list of + * constructs, or a single construct. + * + * @param {Array | Construct | ConstructRecord} constructs + * @param {State} returnState + * @param {State | undefined} [bogusState] + * @returns {State} + */ + function hook(constructs, returnState, bogusState) { + /** @type {Array} */ + let listOfConstructs + /** @type {number} */ + let constructIndex + /** @type {Construct} */ + let currentConstruct + /** @type {Info} */ + let info + return Array.isArray(constructs) /* c8 ignore next 1 */ + ? handleListOfConstructs(constructs) + : 'tokenize' in constructs + ? // @ts-expect-error Looks like a construct. + handleListOfConstructs([constructs]) + : handleMapOfConstructs(constructs) + + /** + * Handle a list of construct. + * + * @param {ConstructRecord} map + * @returns {State} + */ + function handleMapOfConstructs(map) { + return start + + /** @type {State} */ + function start(code) { + const def = code !== null && map[code] + const all = code !== null && map.null + const list = [ + // To do: add more extension tests. + /* c8 ignore next 2 */ + ...(Array.isArray(def) ? def : def ? [def] : []), + ...(Array.isArray(all) ? all : all ? [all] : []) + ] + return handleListOfConstructs(list)(code) + } + } + + /** + * Handle a list of construct. + * + * @param {Array} list + * @returns {State} + */ + function handleListOfConstructs(list) { + listOfConstructs = list + constructIndex = 0 + if (list.length === 0) { + return bogusState + } + return handleConstruct(list[constructIndex]) + } + + /** + * Handle a single construct. + * + * @param {Construct} construct + * @returns {State} + */ + function handleConstruct(construct) { + return start + + /** @type {State} */ + function start(code) { + // To do: not needed to store if there is no bogus state, probably? + // Currently doesn’t work because `inspect` in document does a check + // w/o a bogus, which doesn’t make sense. But it does seem to help perf + // by not storing. + info = store() + currentConstruct = construct + if (!construct.partial) { + context.currentConstruct = construct + } + + // Always populated by defaults. + + if ( + construct.name && + context.parser.constructs.disable.null.includes(construct.name) + ) { + return nok(code) + } + return construct.tokenize.call( + // If we do have fields, create an object w/ `context` as its + // prototype. + // This allows a “live binding”, which is needed for `interrupt`. + fields ? Object.assign(Object.create(context), fields) : context, + effects, + ok, + nok + )(code) + } + } + + /** @type {State} */ + function ok(code) { + consumed = true + onreturn(currentConstruct, info) + return returnState + } + + /** @type {State} */ + function nok(code) { + consumed = true + info.restore() + if (++constructIndex < listOfConstructs.length) { + return handleConstruct(listOfConstructs[constructIndex]) + } + return bogusState + } + } + } + + /** + * @param {Construct} construct + * @param {number} from + * @returns {undefined} + */ + function addResult(construct, from) { + if (construct.resolveAll && !resolveAllConstructs.includes(construct)) { + resolveAllConstructs.push(construct) + } + if (construct.resolve) { + splice( + context.events, + from, + context.events.length - from, + construct.resolve(context.events.slice(from), context) + ) + } + if (construct.resolveTo) { + context.events = construct.resolveTo(context.events, context) + } + } + + /** + * Store state. + * + * @returns {Info} + */ + function store() { + const startPoint = now() + const startPrevious = context.previous + const startCurrentConstruct = context.currentConstruct + const startEventsIndex = context.events.length + const startStack = Array.from(stack) + return { + restore, + from: startEventsIndex + } + + /** + * Restore state. + * + * @returns {undefined} + */ + function restore() { + point = startPoint + context.previous = startPrevious + context.currentConstruct = startCurrentConstruct + context.events.length = startEventsIndex + stack = startStack + accountForPotentialSkip() + } + } + + /** + * Move the current point a bit forward in the line when it’s on a column + * skip. + * + * @returns {undefined} + */ + function accountForPotentialSkip() { + if (point.line in columnStart && point.column < 2) { + point.column = columnStart[point.line] + point.offset += columnStart[point.line] - 1 + } + } +} + +/** + * Get the chunks from a slice of chunks in the range of a token. + * + * @param {Array} chunks + * @param {Pick} token + * @returns {Array} + */ +function sliceChunks(chunks, token) { + const startIndex = token.start._index + const startBufferIndex = token.start._bufferIndex + const endIndex = token.end._index + const endBufferIndex = token.end._bufferIndex + /** @type {Array} */ + let view + if (startIndex === endIndex) { + // @ts-expect-error `_bufferIndex` is used on string chunks. + view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] + } else { + view = chunks.slice(startIndex, endIndex) + if (startBufferIndex > -1) { + const head = view[0] + if (typeof head === 'string') { + view[0] = head.slice(startBufferIndex) + } else { + view.shift() + } + } + if (endBufferIndex > 0) { + // @ts-expect-error `_bufferIndex` is used on string chunks. + view.push(chunks[endIndex].slice(0, endBufferIndex)) + } + } + return view +} + +/** + * Get the string value of a slice of chunks. + * + * @param {Array} chunks + * @param {boolean | undefined} [expandTabs=false] + * @returns {string} + */ +function serializeChunks(chunks, expandTabs) { + let index = -1 + /** @type {Array} */ + const result = [] + /** @type {boolean | undefined} */ + let atTab + while (++index < chunks.length) { + const chunk = chunks[index] + /** @type {string} */ + let value + if (typeof chunk === 'string') { + value = chunk + } else + switch (chunk) { + case -5: { + value = '\r' + break + } + case -4: { + value = '\n' + break + } + case -3: { + value = '\r' + '\n' + break + } + case -2: { + value = expandTabs ? ' ' : '\t' + break + } + case -1: { + if (!expandTabs && atTab) continue + value = ' ' + break + } + default: { + // Currently only replacement character. + value = String.fromCharCode(chunk) + } + } + atTab = chunk === -2 + result.push(value) + } + return result.join('') +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/content.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/content.js new file mode 100644 index 0000000000..671c9621a3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/content.js @@ -0,0 +1,79 @@ +/** + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {InitialConstruct} */ +export const content = { + tokenize: initializeContent +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeContent(effects) { + const contentStart = effects.attempt( + this.parser.constructs.contentInitial, + afterContentStartConstruct, + paragraphInitial + ) + /** @type {Token} */ + let previous + return contentStart + + /** @type {State} */ + function afterContentStartConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, contentStart, 'linePrefix') + } + + /** @type {State} */ + function paragraphInitial(code) { + effects.enter('paragraph') + return lineStart(code) + } + + /** @type {State} */ + function lineStart(code) { + const token = effects.enter('chunkText', { + contentType: 'text', + previous + }) + if (previous) { + previous.next = token + } + previous = token + return data(code) + } + + /** @type {State} */ + function data(code) { + if (code === null) { + effects.exit('chunkText') + effects.exit('paragraph') + effects.consume(code) + return + } + if (markdownLineEnding(code)) { + effects.consume(code) + effects.exit('chunkText') + return lineStart + } + + // Data. + effects.consume(code) + return data + } +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/document.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/document.js new file mode 100644 index 0000000000..d467154d93 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/document.js @@ -0,0 +1,382 @@ +/** + * @typedef {import('micromark-util-types').Construct} Construct + * @typedef {import('micromark-util-types').ContainerState} ContainerState + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +/** + * @typedef {[Construct, ContainerState]} StackItem + */ + +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +import {splice} from 'micromark-util-chunked' +/** @type {InitialConstruct} */ +export const document = { + tokenize: initializeDocument +} + +/** @type {Construct} */ +const containerConstruct = { + tokenize: tokenizeContainer +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeDocument(effects) { + const self = this + /** @type {Array} */ + const stack = [] + let continued = 0 + /** @type {TokenizeContext | undefined} */ + let childFlow + /** @type {Token | undefined} */ + let childToken + /** @type {number} */ + let lineStartOffset + return start + + /** @type {State} */ + function start(code) { + // First we iterate through the open blocks, starting with the root + // document, and descending through last children down to the last open + // block. + // Each block imposes a condition that the line must satisfy if the block is + // to remain open. + // For example, a block quote requires a `>` character. + // A paragraph requires a non-blank line. + // In this phase we may match all or just some of the open blocks. + // But we cannot close unmatched blocks yet, because we may have a lazy + // continuation line. + if (continued < stack.length) { + const item = stack[continued] + self.containerState = item[1] + return effects.attempt( + item[0].continuation, + documentContinue, + checkNewContainers + )(code) + } + + // Done. + return checkNewContainers(code) + } + + /** @type {State} */ + function documentContinue(code) { + continued++ + + // Note: this field is called `_closeFlow` but it also closes containers. + // Perhaps a good idea to rename it but it’s already used in the wild by + // extensions. + if (self.containerState._closeFlow) { + self.containerState._closeFlow = undefined + if (childFlow) { + closeFlow() + } + + // Note: this algorithm for moving events around is similar to the + // algorithm when dealing with lazy lines in `writeToChild`. + const indexBeforeExits = self.events.length + let indexBeforeFlow = indexBeforeExits + /** @type {Point | undefined} */ + let point + + // Find the flow chunk. + while (indexBeforeFlow--) { + if ( + self.events[indexBeforeFlow][0] === 'exit' && + self.events[indexBeforeFlow][1].type === 'chunkFlow' + ) { + point = self.events[indexBeforeFlow][1].end + break + } + } + exitContainers(continued) + + // Fix positions. + let index = indexBeforeExits + while (index < self.events.length) { + self.events[index][1].end = Object.assign({}, point) + index++ + } + + // Inject the exits earlier (they’re still also at the end). + splice( + self.events, + indexBeforeFlow + 1, + 0, + self.events.slice(indexBeforeExits) + ) + + // Discard the duplicate exits. + self.events.length = index + return checkNewContainers(code) + } + return start(code) + } + + /** @type {State} */ + function checkNewContainers(code) { + // Next, after consuming the continuation markers for existing blocks, we + // look for new block starts (e.g. `>` for a block quote). + // If we encounter a new block start, we close any blocks unmatched in + // step 1 before creating the new block as a child of the last matched + // block. + if (continued === stack.length) { + // No need to `check` whether there’s a container, of `exitContainers` + // would be moot. + // We can instead immediately `attempt` to parse one. + if (!childFlow) { + return documentContinued(code) + } + + // If we have concrete content, such as block HTML or fenced code, + // we can’t have containers “pierce” into them, so we can immediately + // start. + if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { + return flowStart(code) + } + + // If we do have flow, it could still be a blank line, + // but we’d be interrupting it w/ a new container if there’s a current + // construct. + // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer + // needed in micromark-extension-gfm-table@1.0.6). + self.interrupt = Boolean( + childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack + ) + } + + // Check if there is a new container. + self.containerState = {} + return effects.check( + containerConstruct, + thereIsANewContainer, + thereIsNoNewContainer + )(code) + } + + /** @type {State} */ + function thereIsANewContainer(code) { + if (childFlow) closeFlow() + exitContainers(continued) + return documentContinued(code) + } + + /** @type {State} */ + function thereIsNoNewContainer(code) { + self.parser.lazy[self.now().line] = continued !== stack.length + lineStartOffset = self.now().offset + return flowStart(code) + } + + /** @type {State} */ + function documentContinued(code) { + // Try new containers. + self.containerState = {} + return effects.attempt( + containerConstruct, + containerContinue, + flowStart + )(code) + } + + /** @type {State} */ + function containerContinue(code) { + continued++ + stack.push([self.currentConstruct, self.containerState]) + // Try another. + return documentContinued(code) + } + + /** @type {State} */ + function flowStart(code) { + if (code === null) { + if (childFlow) closeFlow() + exitContainers(0) + effects.consume(code) + return + } + childFlow = childFlow || self.parser.flow(self.now()) + effects.enter('chunkFlow', { + contentType: 'flow', + previous: childToken, + _tokenizer: childFlow + }) + return flowContinue(code) + } + + /** @type {State} */ + function flowContinue(code) { + if (code === null) { + writeToChild(effects.exit('chunkFlow'), true) + exitContainers(0) + effects.consume(code) + return + } + if (markdownLineEnding(code)) { + effects.consume(code) + writeToChild(effects.exit('chunkFlow')) + // Get ready for the next line. + continued = 0 + self.interrupt = undefined + return start + } + effects.consume(code) + return flowContinue + } + + /** + * @param {Token} token + * @param {boolean | undefined} [eof] + * @returns {undefined} + */ + function writeToChild(token, eof) { + const stream = self.sliceStream(token) + if (eof) stream.push(null) + token.previous = childToken + if (childToken) childToken.next = token + childToken = token + childFlow.defineSkip(token.start) + childFlow.write(stream) + + // Alright, so we just added a lazy line: + // + // ```markdown + // > a + // b. + // + // Or: + // + // > ~~~c + // d + // + // Or: + // + // > | e | + // f + // ``` + // + // The construct in the second example (fenced code) does not accept lazy + // lines, so it marked itself as done at the end of its first line, and + // then the content construct parses `d`. + // Most constructs in markdown match on the first line: if the first line + // forms a construct, a non-lazy line can’t “unmake” it. + // + // The construct in the third example is potentially a GFM table, and + // those are *weird*. + // It *could* be a table, from the first line, if the following line + // matches a condition. + // In this case, that second line is lazy, which “unmakes” the first line + // and turns the whole into one content block. + // + // We’ve now parsed the non-lazy and the lazy line, and can figure out + // whether the lazy line started a new flow block. + // If it did, we exit the current containers between the two flow blocks. + if (self.parser.lazy[token.start.line]) { + let index = childFlow.events.length + while (index--) { + if ( + // The token starts before the line ending… + childFlow.events[index][1].start.offset < lineStartOffset && + // …and either is not ended yet… + (!childFlow.events[index][1].end || + // …or ends after it. + childFlow.events[index][1].end.offset > lineStartOffset) + ) { + // Exit: there’s still something open, which means it’s a lazy line + // part of something. + return + } + } + + // Note: this algorithm for moving events around is similar to the + // algorithm when closing flow in `documentContinue`. + const indexBeforeExits = self.events.length + let indexBeforeFlow = indexBeforeExits + /** @type {boolean | undefined} */ + let seen + /** @type {Point | undefined} */ + let point + + // Find the previous chunk (the one before the lazy line). + while (indexBeforeFlow--) { + if ( + self.events[indexBeforeFlow][0] === 'exit' && + self.events[indexBeforeFlow][1].type === 'chunkFlow' + ) { + if (seen) { + point = self.events[indexBeforeFlow][1].end + break + } + seen = true + } + } + exitContainers(continued) + + // Fix positions. + index = indexBeforeExits + while (index < self.events.length) { + self.events[index][1].end = Object.assign({}, point) + index++ + } + + // Inject the exits earlier (they’re still also at the end). + splice( + self.events, + indexBeforeFlow + 1, + 0, + self.events.slice(indexBeforeExits) + ) + + // Discard the duplicate exits. + self.events.length = index + } + } + + /** + * @param {number} size + * @returns {undefined} + */ + function exitContainers(size) { + let index = stack.length + + // Exit open containers. + while (index-- > size) { + const entry = stack[index] + self.containerState = entry[1] + entry[0].exit.call(self, effects) + } + stack.length = size + } + function closeFlow() { + childFlow.write([null]) + childToken = undefined + childFlow = undefined + self.containerState._closeFlow = undefined + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeContainer(effects, ok, nok) { + // Always populated by defaults. + + return factorySpace( + effects, + effects.attempt(this.parser.constructs.document, ok, nok), + 'linePrefix', + this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + ) +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/flow.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/flow.js new file mode 100644 index 0000000000..cb3aaa37d3 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/flow.js @@ -0,0 +1,68 @@ +/** + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +import {blankLine, content} from 'micromark-core-commonmark' +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEnding} from 'micromark-util-character' +/** @type {InitialConstruct} */ +export const flow = { + tokenize: initializeFlow +} + +/** + * @this {TokenizeContext} + * @type {Initializer} + */ +function initializeFlow(effects) { + const self = this + const initial = effects.attempt( + // Try to parse a blank line. + blankLine, + atBlankEnding, + // Try to parse initial flow (essentially, only code). + effects.attempt( + this.parser.constructs.flowInitial, + afterConstruct, + factorySpace( + effects, + effects.attempt( + this.parser.constructs.flow, + afterConstruct, + effects.attempt(content, afterConstruct) + ), + 'linePrefix' + ) + ) + ) + return initial + + /** @type {State} */ + function atBlankEnding(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEndingBlank') + effects.consume(code) + effects.exit('lineEndingBlank') + self.currentConstruct = undefined + return initial + } + + /** @type {State} */ + function afterConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + self.currentConstruct = undefined + return initial + } +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/text.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/text.js new file mode 100644 index 0000000000..fc9546fc1e --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/initialize/text.js @@ -0,0 +1,210 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').Initializer} Initializer + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + */ + +export const resolver = { + resolveAll: createResolver() +} +export const string = initializeFactory('string') +export const text = initializeFactory('text') + +/** + * @param {'string' | 'text'} field + * @returns {InitialConstruct} + */ +function initializeFactory(field) { + return { + tokenize: initializeText, + resolveAll: createResolver( + field === 'text' ? resolveAllLineSuffixes : undefined + ) + } + + /** + * @this {TokenizeContext} + * @type {Initializer} + */ + function initializeText(effects) { + const self = this + const constructs = this.parser.constructs[field] + const text = effects.attempt(constructs, start, notText) + return start + + /** @type {State} */ + function start(code) { + return atBreak(code) ? text(code) : notText(code) + } + + /** @type {State} */ + function notText(code) { + if (code === null) { + effects.consume(code) + return + } + effects.enter('data') + effects.consume(code) + return data + } + + /** @type {State} */ + function data(code) { + if (atBreak(code)) { + effects.exit('data') + return text(code) + } + + // Data. + effects.consume(code) + return data + } + + /** + * @param {Code} code + * @returns {boolean} + */ + function atBreak(code) { + if (code === null) { + return true + } + const list = constructs[code] + let index = -1 + if (list) { + // Always populated by defaults. + + while (++index < list.length) { + const item = list[index] + if (!item.previous || item.previous.call(self, self.previous)) { + return true + } + } + } + return false + } + } +} + +/** + * @param {Resolver | undefined} [extraResolver] + * @returns {Resolver} + */ +function createResolver(extraResolver) { + return resolveAllText + + /** @type {Resolver} */ + function resolveAllText(events, context) { + let index = -1 + /** @type {number | undefined} */ + let enter + + // A rather boring computation (to merge adjacent `data` events) which + // improves mm performance by 29%. + while (++index <= events.length) { + if (enter === undefined) { + if (events[index] && events[index][1].type === 'data') { + enter = index + index++ + } + } else if (!events[index] || events[index][1].type !== 'data') { + // Don’t do anything if there is one data token. + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + index = enter + 2 + } + enter = undefined + } + } + return extraResolver ? extraResolver(events, context) : events + } +} + +/** + * A rather ugly set of instructions which again looks at chunks in the input + * stream. + * The reason to do this here is that it is *much* faster to parse in reverse. + * And that we can’t hook into `null` to split the line suffix before an EOF. + * To do: figure out if we can make this into a clean utility, or even in core. + * As it will be useful for GFMs literal autolink extension (and maybe even + * tables?) + * + * @type {Resolver} + */ +function resolveAllLineSuffixes(events, context) { + let eventIndex = 0 // Skip first. + + while (++eventIndex <= events.length) { + if ( + (eventIndex === events.length || + events[eventIndex][1].type === 'lineEnding') && + events[eventIndex - 1][1].type === 'data' + ) { + const data = events[eventIndex - 1][1] + const chunks = context.sliceStream(data) + let index = chunks.length + let bufferIndex = -1 + let size = 0 + /** @type {boolean | undefined} */ + let tabs + while (index--) { + const chunk = chunks[index] + if (typeof chunk === 'string') { + bufferIndex = chunk.length + while (chunk.charCodeAt(bufferIndex - 1) === 32) { + size++ + bufferIndex-- + } + if (bufferIndex) break + bufferIndex = -1 + } + // Number + else if (chunk === -2) { + tabs = true + size++ + } else if (chunk === -1) { + // Empty + } else { + // Replacement character, exit. + index++ + break + } + } + if (size) { + const token = { + type: + eventIndex === events.length || tabs || size < 2 + ? 'lineSuffix' + : 'hardBreakTrailing', + start: { + line: data.end.line, + column: data.end.column - size, + offset: data.end.offset - size, + _index: data.start._index + index, + _bufferIndex: index + ? bufferIndex + : data.start._bufferIndex + bufferIndex + }, + end: Object.assign({}, data.end) + } + data.end = Object.assign({}, token.start) + if (data.start.offset === data.end.offset) { + Object.assign(data, token) + } else { + events.splice( + eventIndex, + 0, + ['enter', token, context], + ['exit', token, context] + ) + eventIndex += 2 + } + } + eventIndex++ + } + } + return events +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/parse.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/parse.js new file mode 100644 index 0000000000..4af5729cc2 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/parse.js @@ -0,0 +1,50 @@ +/** + * @typedef {import('micromark-util-types').Create} Create + * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension + * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct + * @typedef {import('micromark-util-types').ParseContext} ParseContext + * @typedef {import('micromark-util-types').ParseOptions} ParseOptions + */ + +import {combineExtensions} from 'micromark-util-combine-extensions' +import {content} from './initialize/content.js' +import {document} from './initialize/document.js' +import {flow} from './initialize/flow.js' +import {string, text} from './initialize/text.js' +import {createTokenizer} from './create-tokenizer.js' +import * as defaultConstructs from './constructs.js' + +/** + * @param {ParseOptions | null | undefined} [options] + * @returns {ParseContext} + */ +export function parse(options) { + const settings = options || {} + const constructs = + /** @type {FullNormalizedExtension} */ + combineExtensions([defaultConstructs, ...(settings.extensions || [])]) + + /** @type {ParseContext} */ + const parser = { + defined: [], + lazy: {}, + constructs, + content: create(content), + document: create(document), + flow: create(flow), + string: create(string), + text: create(text) + } + return parser + + /** + * @param {InitialConstruct} initial + */ + function create(initial) { + return creator + /** @type {Create} */ + function creator(from) { + return createTokenizer(parser, initial, from) + } + } +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/postprocess.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/postprocess.js new file mode 100644 index 0000000000..466f12a99b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/postprocess.js @@ -0,0 +1,16 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + */ + +import {subtokenize} from 'micromark-util-subtokenize' + +/** + * @param {Array} events + * @returns {Array} + */ +export function postprocess(events) { + while (!subtokenize(events)) { + // Empty + } + return events +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/lib/preprocess.js b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/preprocess.js new file mode 100644 index 0000000000..b44eb73050 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/lib/preprocess.js @@ -0,0 +1,113 @@ +/** + * @typedef {import('micromark-util-types').Chunk} Chunk + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').Encoding} Encoding + * @typedef {import('micromark-util-types').Value} Value + */ + +/** + * @callback Preprocessor + * @param {Value} value + * @param {Encoding | null | undefined} [encoding] + * @param {boolean | null | undefined} [end=false] + * @returns {Array} + */ + +const search = /[\0\t\n\r]/g + +/** + * @returns {Preprocessor} + */ +export function preprocess() { + let column = 1 + let buffer = '' + /** @type {boolean | undefined} */ + let start = true + /** @type {boolean | undefined} */ + let atCarriageReturn + return preprocessor + + /** @type {Preprocessor} */ + // eslint-disable-next-line complexity + function preprocessor(value, encoding, end) { + /** @type {Array} */ + const chunks = [] + /** @type {RegExpMatchArray | null} */ + let match + /** @type {number} */ + let next + /** @type {number} */ + let startPosition + /** @type {number} */ + let endPosition + /** @type {Code} */ + let code + value = + buffer + + (typeof value === 'string' + ? value.toString() + : new TextDecoder(encoding || undefined).decode(value)) + startPosition = 0 + buffer = '' + if (start) { + // To do: `markdown-rs` actually parses BOMs (byte order mark). + if (value.charCodeAt(0) === 65279) { + startPosition++ + } + start = undefined + } + while (startPosition < value.length) { + search.lastIndex = startPosition + match = search.exec(value) + endPosition = + match && match.index !== undefined ? match.index : value.length + code = value.charCodeAt(endPosition) + if (!match) { + buffer = value.slice(startPosition) + break + } + if (code === 10 && startPosition === endPosition && atCarriageReturn) { + chunks.push(-3) + atCarriageReturn = undefined + } else { + if (atCarriageReturn) { + chunks.push(-5) + atCarriageReturn = undefined + } + if (startPosition < endPosition) { + chunks.push(value.slice(startPosition, endPosition)) + column += endPosition - startPosition + } + switch (code) { + case 0: { + chunks.push(65533) + column++ + break + } + case 9: { + next = Math.ceil(column / 4) * 4 + chunks.push(-2) + while (column++ < next) chunks.push(-1) + break + } + case 10: { + chunks.push(-4) + column = 1 + break + } + default: { + atCarriageReturn = true + column = 1 + } + } + } + startPosition = endPosition + 1 + } + if (end) { + if (atCarriageReturn) chunks.push(-5) + if (buffer) chunks.push(buffer) + chunks.push(null) + } + return chunks + } +} diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-core-commonmark b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-core-commonmark new file mode 120000 index 0000000000..4d851e584c --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-core-commonmark @@ -0,0 +1 @@ +../../micromark-core-commonmark@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-factory-space b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-factory-space new file mode 120000 index 0000000000..feabb78ef7 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../micromark-factory-space@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-character b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-character new file mode 120000 index 0000000000..d684f82a64 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-chunked b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..867c7e91ff --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../micromark-util-chunked@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-combine-extensions b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-combine-extensions new file mode 120000 index 0000000000..b47b0ced9b --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-combine-extensions @@ -0,0 +1 @@ +../../micromark-util-combine-extensions@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-decode-numeric-character-reference b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-decode-numeric-character-reference new file mode 120000 index 0000000000..9d4efbe677 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-decode-numeric-character-reference @@ -0,0 +1 @@ +../../micromark-util-decode-numeric-character-reference@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-encode b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-encode new file mode 120000 index 0000000000..5c130448f8 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-encode @@ -0,0 +1 @@ +../../micromark-util-encode@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-normalize-identifier b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-normalize-identifier new file mode 120000 index 0000000000..248e506808 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-normalize-identifier @@ -0,0 +1 @@ +../../micromark-util-normalize-identifier@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-resolve-all b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..d621c11bd1 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +../../micromark-util-resolve-all@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-sanitize-uri b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-sanitize-uri new file mode 120000 index 0000000000..7a1bc0f617 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-sanitize-uri @@ -0,0 +1 @@ +../../micromark-util-sanitize-uri@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-subtokenize b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-subtokenize new file mode 120000 index 0000000000..8b8f432e8f --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/node_modules/micromark-util-subtokenize @@ -0,0 +1 @@ +../../micromark-util-subtokenize@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/micromark@4.0.0/package.json b/.output/server/node_modules/.nitro/micromark@4.0.0/package.json new file mode 100644 index 0000000000..42ae7a6b01 --- /dev/null +++ b/.output/server/node_modules/.nitro/micromark@4.0.0/package.json @@ -0,0 +1,85 @@ +{ + "name": "micromark", + "version": "4.0.0", + "description": "small commonmark compliant markdown parser with positional info and concrete tokens", + "license": "MIT", + "keywords": [ + "commonmark", + "compiler", + "gfm", + "html", + "lexer", + "markdown", + "markup", + "md", + "unified", + "parse", + "parser", + "plugin", + "process", + "remark", + "render", + "renderer", + "token", + "tokenizer" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js", + "stream.d.ts", + "stream.js" + ], + "exports": { + ".": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "./stream": { + "development": "./dev/stream.js", + "default": "./stream.js" + } + }, + "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" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": false +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-is@5.2.1/index.js b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/index.js new file mode 100644 index 0000000000..ba5aa16854 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/index.js @@ -0,0 +1,22 @@ +/** + * @typedef {import('./lib/index.js').Test} Test + * @typedef {import('./lib/index.js').TestFunctionAnything} TestFunctionAnything + * @typedef {import('./lib/index.js').AssertAnything} AssertAnything + */ + +/** + * @template {import('unist').Node} Kind + * @typedef {import('./lib/index.js').PredicateTest} PredicateTest + */ + +/** + * @template {import('unist').Node} Kind + * @typedef {import('./lib/index.js').TestFunctionPredicate} TestFunctionPredicate + */ + +/** + * @template {import('unist').Node} Kind + * @typedef {import('./lib/index.js').AssertPredicate} AssertPredicate + */ + +export {is, convert} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-is@5.2.1/lib/index.js b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/lib/index.js new file mode 100644 index 0000000000..f9a14b0b80 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/lib/index.js @@ -0,0 +1,301 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Parent} Parent + */ + +/** + * @typedef {Record} Props + * @typedef {null | undefined | string | Props | TestFunctionAnything | Array} Test + * Check for an arbitrary node, unaware of TypeScript inferral. + * + * @callback TestFunctionAnything + * Check if a node passes a test, unaware of TypeScript inferral. + * @param {unknown} this + * The given context. + * @param {Node} node + * A node. + * @param {number | null | undefined} [index] + * The node’s position in its parent. + * @param {Parent | null | undefined} [parent] + * The node’s parent. + * @returns {boolean | void} + * Whether this node passes the test. + */ + +/** + * @template {Node} Kind + * Node type. + * @typedef {Kind['type'] | Partial | TestFunctionPredicate | Array | TestFunctionPredicate>} PredicateTest + * Check for a node that can be inferred by TypeScript. + */ + +/** + * Check if a node passes a certain test. + * + * @template {Node} Kind + * Node type. + * @callback TestFunctionPredicate + * Complex test function for a node that can be inferred by TypeScript. + * @param {Node} node + * A node. + * @param {number | null | undefined} [index] + * The node’s position in its parent. + * @param {Parent | null | undefined} [parent] + * The node’s parent. + * @returns {node is Kind} + * Whether this node passes the test. + */ + +/** + * @callback AssertAnything + * Check that an arbitrary value is a node, unaware of TypeScript inferral. + * @param {unknown} [node] + * Anything (typically a node). + * @param {number | null | undefined} [index] + * The node’s position in its parent. + * @param {Parent | null | undefined} [parent] + * The node’s parent. + * @returns {boolean} + * Whether this is a node and passes a test. + */ + +/** + * Check if a node is a node and passes a certain node test. + * + * @template {Node} Kind + * Node type. + * @callback AssertPredicate + * Check that an arbitrary value is a specific node, aware of TypeScript. + * @param {unknown} [node] + * Anything (typically a node). + * @param {number | null | undefined} [index] + * The node’s position in its parent. + * @param {Parent | null | undefined} [parent] + * The node’s parent. + * @returns {node is Kind} + * Whether this is a node and passes a test. + */ + +/** + * Check if `node` is a `Node` and whether it passes the given test. + * + * @param node + * Thing to check, typically `Node`. + * @param test + * A check for a specific node. + * @param index + * The node’s position in its parent. + * @param parent + * The node’s parent. + * @returns + * Whether `node` is a node and passes a test. + */ +export const is = + /** + * @type {( + * (() => false) & + * ((node: unknown, test: PredicateTest, index: number, parent: Parent, context?: unknown) => node is Kind) & + * ((node: unknown, test: PredicateTest, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) & + * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) & + * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean) + * )} + */ + ( + /** + * @param {unknown} [node] + * @param {Test} [test] + * @param {number | null | undefined} [index] + * @param {Parent | null | undefined} [parent] + * @param {unknown} [context] + * @returns {boolean} + */ + // eslint-disable-next-line max-params + function is(node, test, index, parent, context) { + const check = convert(test) + + if ( + index !== undefined && + index !== null && + (typeof index !== 'number' || + index < 0 || + index === Number.POSITIVE_INFINITY) + ) { + throw new Error('Expected positive finite index') + } + + if ( + parent !== undefined && + parent !== null && + (!is(parent) || !parent.children) + ) { + throw new Error('Expected parent node') + } + + if ( + (parent === undefined || parent === null) !== + (index === undefined || index === null) + ) { + throw new Error('Expected both parent and index') + } + + // @ts-expect-error Looks like a node. + return node && node.type && typeof node.type === 'string' + ? Boolean(check.call(context, node, index, parent)) + : false + } + ) + +/** + * Generate an assertion from a test. + * + * Useful if you’re going to test many nodes, for example when creating a + * utility where something else passes a compatible test. + * + * The created function is a bit faster because it expects valid input only: + * a `node`, `index`, and `parent`. + * + * @param test + * * when nullish, checks if `node` is a `Node`. + * * when `string`, works like passing `(node) => node.type === test`. + * * when `function` checks if function passed the node is true. + * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values. + * * when `array`, checks if any one of the subtests pass. + * @returns + * An assertion. + */ +export const convert = + /** + * @type {( + * ((test: PredicateTest) => AssertPredicate) & + * ((test?: Test) => AssertAnything) + * )} + */ + ( + /** + * @param {Test} [test] + * @returns {AssertAnything} + */ + function (test) { + if (test === undefined || test === null) { + return ok + } + + if (typeof test === 'string') { + return typeFactory(test) + } + + if (typeof test === 'object') { + return Array.isArray(test) ? anyFactory(test) : propsFactory(test) + } + + if (typeof test === 'function') { + return castFactory(test) + } + + throw new Error('Expected function, string, or object as test') + } + ) + +/** + * @param {Array} tests + * @returns {AssertAnything} + */ +function anyFactory(tests) { + /** @type {Array} */ + const checks = [] + let index = -1 + + while (++index < tests.length) { + checks[index] = convert(tests[index]) + } + + return castFactory(any) + + /** + * @this {unknown} + * @param {Array} parameters + * @returns {boolean} + */ + function any(...parameters) { + let index = -1 + + while (++index < checks.length) { + if (checks[index].call(this, ...parameters)) return true + } + + return false + } +} + +/** + * Turn an object into a test for a node with a certain fields. + * + * @param {Props} check + * @returns {AssertAnything} + */ +function propsFactory(check) { + return castFactory(all) + + /** + * @param {Node} node + * @returns {boolean} + */ + function all(node) { + /** @type {string} */ + let key + + for (key in check) { + // @ts-expect-error: hush, it sure works as an index. + if (node[key] !== check[key]) return false + } + + return true + } +} + +/** + * Turn a string into a test for a node with a certain type. + * + * @param {string} check + * @returns {AssertAnything} + */ +function typeFactory(check) { + return castFactory(type) + + /** + * @param {Node} node + */ + function type(node) { + return node && node.type === check + } +} + +/** + * Turn a custom test into a test for a node that passes that test. + * + * @param {TestFunctionAnything} check + * @returns {AssertAnything} + */ +function castFactory(check) { + return assertion + + /** + * @this {unknown} + * @param {unknown} node + * @param {Array} parameters + * @returns {boolean} + */ + function assertion(node, ...parameters) { + return Boolean( + node && + typeof node === 'object' && + 'type' in node && + // @ts-expect-error: fine. + Boolean(check.call(this, node, ...parameters)) + ) + } +} + +function ok() { + return true +} diff --git a/.output/server/node_modules/.nitro/unist-util-is@5.2.1/package.json b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/package.json new file mode 100644 index 0000000000..fdf24f3f3a --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@5.2.1/package.json @@ -0,0 +1,88 @@ +{ + "name": "unist-util-is", + "version": "5.2.1", + "description": "unist utility to check if a node passes a test", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "tree", + "node", + "is", + "equal", + "check", + "test", + "type" + ], + "repository": "syntax-tree/unist-util-is", + "bugs": "https://github.com/syntax-tree/unist-util-is/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Christian Murphy ", + "Lucas Brandstaetter (https://github.com/Roang-zero1)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^2.0.0" + }, + "devDependencies": { + "@types/lodash": "^4.0.0", + "@types/mdast": "^3.0.0", + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "fast-check": "^3.0.0", + "lodash": "^4.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tsd": "^0.25.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "unified": "^10.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-is@6.0.0/index.js b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/index.js new file mode 100644 index 0000000000..08faf55da5 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/index.js @@ -0,0 +1,7 @@ +/** + * @typedef {import('./lib/index.js').Check} Check + * @typedef {import('./lib/index.js').Test} Test + * @typedef {import('./lib/index.js').TestFunction} TestFunction + */ + +export {is, convert} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-is@6.0.0/lib/index.js b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/lib/index.js new file mode 100644 index 0000000000..7564cbfff3 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/lib/index.js @@ -0,0 +1,291 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Parent} Parent + */ + +/** + * @template Fn + * @template Fallback + * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate + */ + +/** + * @callback Check + * Check that an arbitrary value is a node. + * @param {unknown} this + * The given context. + * @param {unknown} [node] + * Anything (typically a node). + * @param {number | null | undefined} [index] + * The node’s position in its parent. + * @param {Parent | null | undefined} [parent] + * The node’s parent. + * @returns {boolean} + * Whether this is a node and passes a test. + * + * @typedef {Record | Node} Props + * Object to check for equivalence. + * + * Note: `Node` is included as it is common but is not indexable. + * + * @typedef {Array | Props | TestFunction | string | null | undefined} Test + * Check for an arbitrary node. + * + * @callback TestFunction + * Check if a node passes a test. + * @param {unknown} this + * The given context. + * @param {Node} node + * A node. + * @param {number | undefined} [index] + * The node’s position in its parent. + * @param {Parent | undefined} [parent] + * The node’s parent. + * @returns {boolean | undefined | void} + * Whether this node passes the test. + * + * Note: `void` is included until TS sees no return as `undefined`. + */ + +/** + * Check if `node` is a `Node` and whether it passes the given test. + * + * @param {unknown} node + * Thing to check, typically `Node`. + * @param {Test} test + * A check for a specific node. + * @param {number | null | undefined} index + * The node’s position in its parent. + * @param {Parent | null | undefined} parent + * The node’s parent. + * @param {unknown} context + * Context object (`this`) to pass to `test` functions. + * @returns {boolean} + * Whether `node` is a node and passes a test. + */ +export const is = + // Note: overloads in JSDoc can’t yet use different `@template`s. + /** + * @type {( + * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) & + * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) & + * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) & + * ((node?: null | undefined) => false) & + * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) & + * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean) + * )} + */ + ( + /** + * @param {unknown} [node] + * @param {Test} [test] + * @param {number | null | undefined} [index] + * @param {Parent | null | undefined} [parent] + * @param {unknown} [context] + * @returns {boolean} + */ + // eslint-disable-next-line max-params + function (node, test, index, parent, context) { + const check = convert(test) + + if ( + index !== undefined && + index !== null && + (typeof index !== 'number' || + index < 0 || + index === Number.POSITIVE_INFINITY) + ) { + throw new Error('Expected positive finite index') + } + + if ( + parent !== undefined && + parent !== null && + (!is(parent) || !parent.children) + ) { + throw new Error('Expected parent node') + } + + if ( + (parent === undefined || parent === null) !== + (index === undefined || index === null) + ) { + throw new Error('Expected both parent and index') + } + + return looksLikeANode(node) + ? check.call(context, node, index, parent) + : false + } + ) + +/** + * Generate an assertion from a test. + * + * Useful if you’re going to test many nodes, for example when creating a + * utility where something else passes a compatible test. + * + * The created function is a bit faster because it expects valid input only: + * a `node`, `index`, and `parent`. + * + * @param {Test} test + * * when nullish, checks if `node` is a `Node`. + * * when `string`, works like passing `(node) => node.type === test`. + * * when `function` checks if function passed the node is true. + * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values. + * * when `array`, checks if any one of the subtests pass. + * @returns {Check} + * An assertion. + */ +export const convert = + // Note: overloads in JSDoc can’t yet use different `@template`s. + /** + * @type {( + * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) & + * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) & + * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) & + * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) & + * ((test?: Test) => Check) + * )} + */ + ( + /** + * @param {Test} [test] + * @returns {Check} + */ + function (test) { + if (test === null || test === undefined) { + return ok + } + + if (typeof test === 'function') { + return castFactory(test) + } + + if (typeof test === 'object') { + return Array.isArray(test) ? anyFactory(test) : propsFactory(test) + } + + if (typeof test === 'string') { + return typeFactory(test) + } + + throw new Error('Expected function, string, or object as test') + } + ) + +/** + * @param {Array} tests + * @returns {Check} + */ +function anyFactory(tests) { + /** @type {Array} */ + const checks = [] + let index = -1 + + while (++index < tests.length) { + checks[index] = convert(tests[index]) + } + + return castFactory(any) + + /** + * @this {unknown} + * @type {TestFunction} + */ + function any(...parameters) { + let index = -1 + + while (++index < checks.length) { + if (checks[index].apply(this, parameters)) return true + } + + return false + } +} + +/** + * Turn an object into a test for a node with a certain fields. + * + * @param {Props} check + * @returns {Check} + */ +function propsFactory(check) { + const checkAsRecord = /** @type {Record} */ (check) + + return castFactory(all) + + /** + * @param {Node} node + * @returns {boolean} + */ + function all(node) { + const nodeAsRecord = /** @type {Record} */ ( + /** @type {unknown} */ (node) + ) + + /** @type {string} */ + let key + + for (key in check) { + if (nodeAsRecord[key] !== checkAsRecord[key]) return false + } + + return true + } +} + +/** + * Turn a string into a test for a node with a certain type. + * + * @param {string} check + * @returns {Check} + */ +function typeFactory(check) { + return castFactory(type) + + /** + * @param {Node} node + */ + function type(node) { + return node && node.type === check + } +} + +/** + * Turn a custom test into a test for a node that passes that test. + * + * @param {TestFunction} testFunction + * @returns {Check} + */ +function castFactory(testFunction) { + return check + + /** + * @this {unknown} + * @type {Check} + */ + function check(value, index, parent) { + return Boolean( + looksLikeANode(value) && + testFunction.call( + this, + value, + typeof index === 'number' ? index : undefined, + parent || undefined + ) + ) + } +} + +function ok() { + return true +} + +/** + * @param {unknown} value + * @returns {value is Node} + */ +function looksLikeANode(value) { + return value !== null && typeof value === 'object' && 'type' in value +} diff --git a/.output/server/node_modules/.nitro/unist-util-is@6.0.0/package.json b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/package.json new file mode 100644 index 0000000000..48581c5845 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-is@6.0.0/package.json @@ -0,0 +1,100 @@ +{ + "name": "unist-util-is", + "version": "6.0.0", + "description": "unist utility to check if a node passes a test", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "tree", + "node", + "is", + "equal", + "check", + "test", + "type" + ], + "repository": "syntax-tree/unist-util-is", + "bugs": "https://github.com/syntax-tree/unist-util-is/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Christian Murphy ", + "Lucas Brandstaetter (https://github.com/Roang-zero1)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^3.0.0" + }, + "devDependencies": { + "@types/mdast": "^4.0.0", + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tsd": "^0.28.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "#": "needed `any`s", + "ignoreFiles": [ + "lib/index.d.ts" + ], + "ignoreCatch": true, + "strict": true + }, + "xo": { + "overrides": [ + { + "files": [ + "**/*.ts" + ], + "rules": { + "@typescript-eslint/consistent-type-definitions": "off", + "@typescript-eslint/no-unnecessary-type-arguments": "off", + "import/no-extraneous-dependencies": "off" + } + } + ], + "prettier": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/index.js b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/index.js new file mode 100644 index 0000000000..93163eae4f --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/index.js @@ -0,0 +1 @@ +export {stringifyPosition} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/lib/index.js b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/lib/index.js new file mode 100644 index 0000000000..7474343c11 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/lib/index.js @@ -0,0 +1,84 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Point} Point + * @typedef {import('unist').Position} Position + */ + +/** + * @typedef NodeLike + * @property {string} type + * @property {PositionLike | null | undefined} [position] + * + * @typedef PositionLike + * @property {PointLike | null | undefined} [start] + * @property {PointLike | null | undefined} [end] + * + * @typedef PointLike + * @property {number | null | undefined} [line] + * @property {number | null | undefined} [column] + * @property {number | null | undefined} [offset] + */ + +/** + * Serialize the positional info of a point, position (start and end points), + * or node. + * + * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value] + * Node, position, or point. + * @returns {string} + * Pretty printed positional info of a node (`string`). + * + * In the format of a range `ls:cs-le:ce` (when given `node` or `position`) + * or a point `l:c` (when given `point`), where `l` stands for line, `c` for + * column, `s` for `start`, and `e` for end. + * An empty string (`''`) is returned if the given value is neither `node`, + * `position`, nor `point`. + */ +export function stringifyPosition(value) { + // Nothing. + if (!value || typeof value !== 'object') { + return '' + } + + // Node. + if ('position' in value || 'type' in value) { + return position(value.position) + } + + // Position. + if ('start' in value || 'end' in value) { + return position(value) + } + + // Point. + if ('line' in value || 'column' in value) { + return point(value) + } + + // ? + return '' +} + +/** + * @param {Point | PointLike | null | undefined} point + * @returns {string} + */ +function point(point) { + return index(point && point.line) + ':' + index(point && point.column) +} + +/** + * @param {Position | PositionLike | null | undefined} pos + * @returns {string} + */ +function position(pos) { + return point(pos && pos.start) + '-' + point(pos && pos.end) +} + +/** + * @param {number | null | undefined} value + * @returns {number} + */ +function index(value) { + return value && typeof value === 'number' ? value : 1 +} diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/package.json b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/package.json new file mode 100644 index 0000000000..80b93abd5d --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@3.0.3/package.json @@ -0,0 +1,80 @@ +{ + "name": "unist-util-stringify-position", + "version": "3.0.3", + "description": "unist utility to serialize a node, position, or point as a human readable location", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "position", + "location", + "point", + "node", + "stringify", + "tostring" + ], + "repository": "syntax-tree/unist-util-stringify-position", + "bugs": "https://github.com/syntax-tree/unist-util-stringify-position/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^2.0.0" + }, + "devDependencies": { + "@types/mdast": "^3.0.0", + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/index.js b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/index.js new file mode 100644 index 0000000000..93163eae4f --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/index.js @@ -0,0 +1 @@ +export {stringifyPosition} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/lib/index.js b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/lib/index.js new file mode 100644 index 0000000000..109b64605a --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/lib/index.js @@ -0,0 +1,84 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Point} Point + * @typedef {import('unist').Position} Position + */ + +/** + * @typedef NodeLike + * @property {string} type + * @property {PositionLike | null | undefined} [position] + * + * @typedef PointLike + * @property {number | null | undefined} [line] + * @property {number | null | undefined} [column] + * @property {number | null | undefined} [offset] + * + * @typedef PositionLike + * @property {PointLike | null | undefined} [start] + * @property {PointLike | null | undefined} [end] + */ + +/** + * Serialize the positional info of a point, position (start and end points), + * or node. + * + * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value] + * Node, position, or point. + * @returns {string} + * Pretty printed positional info of a node (`string`). + * + * In the format of a range `ls:cs-le:ce` (when given `node` or `position`) + * or a point `l:c` (when given `point`), where `l` stands for line, `c` for + * column, `s` for `start`, and `e` for end. + * An empty string (`''`) is returned if the given value is neither `node`, + * `position`, nor `point`. + */ +export function stringifyPosition(value) { + // Nothing. + if (!value || typeof value !== 'object') { + return '' + } + + // Node. + if ('position' in value || 'type' in value) { + return position(value.position) + } + + // Position. + if ('start' in value || 'end' in value) { + return position(value) + } + + // Point. + if ('line' in value || 'column' in value) { + return point(value) + } + + // ? + return '' +} + +/** + * @param {Point | PointLike | null | undefined} point + * @returns {string} + */ +function point(point) { + return index(point && point.line) + ':' + index(point && point.column) +} + +/** + * @param {Position | PositionLike | null | undefined} pos + * @returns {string} + */ +function position(pos) { + return point(pos && pos.start) + '-' + point(pos && pos.end) +} + +/** + * @param {number | null | undefined} value + * @returns {number} + */ +function index(value) { + return value && typeof value === 'number' ? value : 1 +} diff --git a/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/package.json b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/package.json new file mode 100644 index 0000000000..9bfe2e2c42 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-stringify-position@4.0.0/package.json @@ -0,0 +1,80 @@ +{ + "name": "unist-util-stringify-position", + "version": "4.0.0", + "description": "unist utility to serialize a node, position, or point as a human readable location", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "position", + "location", + "point", + "node", + "stringify", + "tostring" + ], + "repository": "syntax-tree/unist-util-stringify-position", + "bugs": "https://github.com/syntax-tree/unist-util-stringify-position/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^3.0.0" + }, + "devDependencies": { + "@types/mdast": "^4.0.0", + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "ignoreCatch": true, + "strict": true + }, + "xo": { + "prettier": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/index.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/index.js new file mode 100644 index 0000000000..995e97b661 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/index.js @@ -0,0 +1,2 @@ +// Note: types exported from `index.d.ts` +export {CONTINUE, EXIT, SKIP, visitParents} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/color.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/color.js new file mode 100644 index 0000000000..3634ae9484 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/color.js @@ -0,0 +1,7 @@ +/** + * @param {string} d + * @returns {string} + */ +export function color(d) { + return '\u001B[33m' + d + '\u001B[39m' +} diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/index.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/index.js new file mode 100644 index 0000000000..e8b72ed3fb --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/lib/index.js @@ -0,0 +1,241 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Parent} Parent + * @typedef {import('unist-util-is').Test} Test + */ + +/** + * @typedef {boolean | 'skip'} Action + * Union of the action types. + * + * @typedef {number} Index + * Move to the sibling at `index` next (after node itself is completely + * traversed). + * + * Useful if mutating the tree, such as removing the node the visitor is + * currently on, or any of its previous siblings. + * Results less than 0 or greater than or equal to `children.length` stop + * traversing the parent. + * + * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple + * List with one or two values, the first an action, the second an index. + * + * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult + * Any value that can be returned from a visitor. + */ + +/** + * @template {Node} [Visited=Node] + * Visited node type. + * @template {Parent} [Ancestor=Parent] + * Ancestor type. + * @callback Visitor + * Handle a node (matching `test`, if given). + * + * Visitors are free to transform `node`. + * They can also transform the parent of node (the last of `ancestors`). + * + * Replacing `node` itself, if `SKIP` is not returned, still causes its + * descendants to be walked (which is a bug). + * + * When adding or removing previous siblings of `node` (or next siblings, in + * case of reverse), the `Visitor` should return a new `Index` to specify the + * sibling to traverse after `node` is traversed. + * Adding or removing next siblings of `node` (or previous siblings, in case + * of reverse) is handled as expected without needing to return a new `Index`. + * + * Removing the children property of an ancestor still results in them being + * traversed. + * @param {Visited} node + * Found node. + * @param {Array} ancestors + * Ancestors of `node`. + * @returns {VisitorResult} + * What to do next. + * + * An `Index` is treated as a tuple of `[CONTINUE, Index]`. + * An `Action` is treated as a tuple of `[Action]`. + * + * Passing a tuple back only makes sense if the `Action` is `SKIP`. + * When the `Action` is `EXIT`, that action can be returned. + * When the `Action` is `CONTINUE`, `Index` can be returned. + */ + +/** + * @template {Node} [Tree=Node] + * Tree type. + * @template {Test} [Check=string] + * Test type. + * @typedef {Visitor, Check>, Extract, Parent>>} BuildVisitor + * Build a typed `Visitor` function from a tree and a test. + * + * It will infer which values are passed as `node` and which as `parents`. + */ + +import {convert} from 'unist-util-is' +import {color} from './color.js' + +/** + * Continue traversing as normal. + */ +export const CONTINUE = true + +/** + * Stop traversing immediately. + */ +export const EXIT = false + +/** + * Do not traverse this node’s children. + */ +export const SKIP = 'skip' + +/** + * Visit nodes, with ancestral information. + * + * This algorithm performs *depth-first* *tree traversal* in *preorder* + * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). + * + * You can choose for which nodes `visitor` is called by passing a `test`. + * For complex tests, you should test yourself in `visitor`, as it will be + * faster and will have improved type information. + * + * Walking the tree is an intensive task. + * Make use of the return values of the visitor when possible. + * Instead of walking a tree multiple times, walk it once, use `unist-util-is` + * to check if a node matches, and then perform different operations. + * + * You can change the tree. + * See `Visitor` for more info. + * + * @param tree + * Tree to traverse. + * @param test + * `unist-util-is`-compatible test + * @param visitor + * Handle each node. + * @param reverse + * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). + * @returns + * Nothing. + */ +export const visitParents = + /** + * @type {( + * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & + * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) + * )} + */ + ( + /** + * @param {Node} tree + * @param {Test} test + * @param {Visitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {void} + */ + function (tree, test, visitor, reverse) { + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor + // @ts-expect-error no visitor given, so `visitor` is test. + visitor = test + test = null + } + + const is = convert(test) + const step = reverse ? -1 : 1 + + factory(tree, undefined, [])() + + /** + * @param {Node} node + * @param {number | undefined} index + * @param {Array} parents + */ + function factory(node, index, parents) { + /** @type {Record} */ + // @ts-expect-error: hush + const value = node && typeof node === 'object' ? node : {} + + if (typeof value.type === 'string') { + const name = + // `hast` + typeof value.tagName === 'string' + ? value.tagName + : // `xast` + typeof value.name === 'string' + ? value.name + : undefined + + Object.defineProperty(visit, 'name', { + value: + 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')' + }) + } + + return visit + + function visit() { + /** @type {ActionTuple} */ + let result = [] + /** @type {ActionTuple} */ + let subresult + /** @type {number} */ + let offset + /** @type {Array} */ + let grandparents + + if (!test || is(node, index, parents[parents.length - 1] || null)) { + result = toResult(visitor(node, parents)) + + if (result[0] === EXIT) { + return result + } + } + + // @ts-expect-error looks like a parent. + if (node.children && result[0] !== SKIP) { + // @ts-expect-error looks like a parent. + offset = (reverse ? node.children.length : -1) + step + // @ts-expect-error looks like a parent. + grandparents = parents.concat(node) + + // @ts-expect-error looks like a parent. + while (offset > -1 && offset < node.children.length) { + // @ts-expect-error looks like a parent. + subresult = factory(node.children[offset], offset, grandparents)() + + if (subresult[0] === EXIT) { + return subresult + } + + offset = + typeof subresult[1] === 'number' ? subresult[1] : offset + step + } + } + + return result + } + } + } + ) + +/** + * Turn a return value into a clean result. + * + * @param {VisitorResult} value + * Valid return values from visitors. + * @returns {ActionTuple} + * Clean result. + */ +function toResult(value) { + if (Array.isArray(value)) { + return value + } + + if (typeof value === 'number') { + return [CONTINUE, value] + } + + return [value] +} diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/node_modules/unist-util-is b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/node_modules/unist-util-is new file mode 120000 index 0000000000..495dc83bf3 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/node_modules/unist-util-is @@ -0,0 +1 @@ +../../unist-util-is@5.2.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/package.json b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/package.json new file mode 100644 index 0000000000..db09ea00c5 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@5.1.3/package.json @@ -0,0 +1,104 @@ +{ + "name": "unist-util-visit-parents", + "version": "5.1.3", + "description": "unist utility to recursively walk over nodes, with ancestral information", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "tree", + "ast", + "visit", + "traverse", + "walk", + "check", + "parent", + "parents" + ], + "repository": "syntax-tree/unist-util-visit-parents", + "bugs": "https://github.com/syntax-tree/unist-util-visit-parents/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "browser": { + "./lib/color.js": "./lib/color.browser.js" + }, + "react-native": { + "./lib/color.js": "./lib/color.browser.js" + }, + "types": "index.d.ts", + "files": [ + "lib/", + "complex-types.d.ts", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "devDependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "strip-ansi": "^7.0.0", + "tsd": "^0.25.0", + "type-coverage": "^2.0.0", + "typescript": "^4.7.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "@typescript-eslint/array-type": "off" + } + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true, + "#": "needed `any`s", + "ignoreFiles": [ + "lib/complex-types.d.ts" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/index.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/index.js new file mode 100644 index 0000000000..995e97b661 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/index.js @@ -0,0 +1,2 @@ +// Note: types exported from `index.d.ts` +export {CONTINUE, EXIT, SKIP, visitParents} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/color.node.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/color.node.js new file mode 100644 index 0000000000..3634ae9484 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/color.node.js @@ -0,0 +1,7 @@ +/** + * @param {string} d + * @returns {string} + */ +export function color(d) { + return '\u001B[33m' + d + '\u001B[39m' +} diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/index.js b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/index.js new file mode 100644 index 0000000000..a04d28bc4e --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/lib/index.js @@ -0,0 +1,398 @@ +/** + * @typedef {import('unist').Node} UnistNode + * @typedef {import('unist').Parent} UnistParent + */ + +/** + * @typedef {Exclude | undefined} Test + * Test from `unist-util-is`. + * + * Note: we have remove and add `undefined`, because otherwise when generating + * automatic `.d.ts` files, TS tries to flatten paths from a local perspective, + * which doesn’t work when publishing on npm. + */ + +/** + * @typedef {( + * Fn extends (value: any) => value is infer Thing + * ? Thing + * : Fallback + * )} Predicate + * Get the value of a type guard `Fn`. + * @template Fn + * Value; typically function that is a type guard (such as `(x): x is Y`). + * @template Fallback + * Value to yield if `Fn` is not a type guard. + */ + +/** + * @typedef {( + * Check extends null | undefined // No test. + * ? Value + * : Value extends {type: Check} // String (type) test. + * ? Value + * : Value extends Check // Partial test. + * ? Value + * : Check extends Function // Function test. + * ? Predicate extends Value + * ? Predicate + * : never + * : never // Some other test? + * )} MatchesOne + * Check whether a node matches a primitive check in the type system. + * @template Value + * Value; typically unist `Node`. + * @template Check + * Value; typically `unist-util-is`-compatible test, but not arrays. + */ + +/** + * @typedef {( + * Check extends Array + * ? MatchesOne + * : MatchesOne + * )} Matches + * Check whether a node matches a check in the type system. + * @template Value + * Value; typically unist `Node`. + * @template Check + * Value; typically `unist-util-is`-compatible test. + */ + +/** + * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint + * Number; capped reasonably. + */ + +/** + * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment + * Increment a number in the type system. + * @template {Uint} [I=0] + * Index. + */ + +/** + * @typedef {( + * Node extends UnistParent + * ? Node extends {children: Array} + * ? Child extends Children ? Node : never + * : never + * : never + * )} InternalParent + * Collect nodes that can be parents of `Child`. + * @template {UnistNode} Node + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + */ + +/** + * @typedef {InternalParent, Child>} Parent + * Collect nodes in `Tree` that can be parents of `Child`. + * @template {UnistNode} Tree + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + */ + +/** + * @typedef {( + * Depth extends Max + * ? never + * : + * | InternalParent + * | InternalAncestor, Max, Increment> + * )} InternalAncestor + * Collect nodes in `Tree` that can be ancestors of `Child`. + * @template {UnistNode} Node + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + * @template {Uint} [Max=10] + * Max; searches up to this depth. + * @template {Uint} [Depth=0] + * Current depth. + */ + +/** + * @typedef {InternalAncestor, Child>} Ancestor + * Collect nodes in `Tree` that can be ancestors of `Child`. + * @template {UnistNode} Tree + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + */ + +/** + * @typedef {( + * Tree extends UnistParent + * ? Depth extends Max + * ? Tree + * : Tree | InclusiveDescendant> + * : Tree + * )} InclusiveDescendant + * Collect all (inclusive) descendants of `Tree`. + * + * > 👉 **Note**: for performance reasons, this seems to be the fastest way to + * > recurse without actually running into an infinite loop, which the + * > previous version did. + * > + * > Practically, a max of `2` is typically enough assuming a `Root` is + * > passed, but it doesn’t improve performance. + * > It gets higher with `List > ListItem > Table > TableRow > TableCell`. + * > Using up to `10` doesn’t hurt or help either. + * @template {UnistNode} Tree + * Tree type. + * @template {Uint} [Max=10] + * Max; searches up to this depth. + * @template {Uint} [Depth=0] + * Current depth. + */ + +/** + * @typedef {'skip' | boolean} Action + * Union of the action types. + * + * @typedef {number} Index + * Move to the sibling at `index` next (after node itself is completely + * traversed). + * + * Useful if mutating the tree, such as removing the node the visitor is + * currently on, or any of its previous siblings. + * Results less than 0 or greater than or equal to `children.length` stop + * traversing the parent. + * + * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple + * List with one or two values, the first an action, the second an index. + * + * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult + * Any value that can be returned from a visitor. + */ + +/** + * @callback Visitor + * Handle a node (matching `test`, if given). + * + * Visitors are free to transform `node`. + * They can also transform the parent of node (the last of `ancestors`). + * + * Replacing `node` itself, if `SKIP` is not returned, still causes its + * descendants to be walked (which is a bug). + * + * When adding or removing previous siblings of `node` (or next siblings, in + * case of reverse), the `Visitor` should return a new `Index` to specify the + * sibling to traverse after `node` is traversed. + * Adding or removing next siblings of `node` (or previous siblings, in case + * of reverse) is handled as expected without needing to return a new `Index`. + * + * Removing the children property of an ancestor still results in them being + * traversed. + * @param {Visited} node + * Found node. + * @param {Array} ancestors + * Ancestors of `node`. + * @returns {VisitorResult} + * What to do next. + * + * An `Index` is treated as a tuple of `[CONTINUE, Index]`. + * An `Action` is treated as a tuple of `[Action]`. + * + * Passing a tuple back only makes sense if the `Action` is `SKIP`. + * When the `Action` is `EXIT`, that action can be returned. + * When the `Action` is `CONTINUE`, `Index` can be returned. + * @template {UnistNode} [Visited=UnistNode] + * Visited node type. + * @template {UnistParent} [VisitedParents=UnistParent] + * Ancestor type. + */ + +/** + * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor + * Build a typed `Visitor` function from a tree and a test. + * + * It will infer which values are passed as `node` and which as `parents`. + * @template {UnistNode} [Tree=UnistNode] + * Tree type. + * @template {Test} [Check=Test] + * Test type. + */ + +import {convert} from 'unist-util-is' +import {color} from 'unist-util-visit-parents/do-not-use-color' + +/** @type {Readonly} */ +const empty = [] + +/** + * Continue traversing as normal. + */ +export const CONTINUE = true + +/** + * Stop traversing immediately. + */ +export const EXIT = false + +/** + * Do not traverse this node’s children. + */ +export const SKIP = 'skip' + +/** + * Visit nodes, with ancestral information. + * + * This algorithm performs *depth-first* *tree traversal* in *preorder* + * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). + * + * You can choose for which nodes `visitor` is called by passing a `test`. + * For complex tests, you should test yourself in `visitor`, as it will be + * faster and will have improved type information. + * + * Walking the tree is an intensive task. + * Make use of the return values of the visitor when possible. + * Instead of walking a tree multiple times, walk it once, use `unist-util-is` + * to check if a node matches, and then perform different operations. + * + * You can change the tree. + * See `Visitor` for more info. + * + * @overload + * @param {Tree} tree + * @param {Check} check + * @param {BuildVisitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {undefined} + * + * @overload + * @param {Tree} tree + * @param {BuildVisitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {undefined} + * + * @param {UnistNode} tree + * Tree to traverse. + * @param {Visitor | Test} test + * `unist-util-is`-compatible test + * @param {Visitor | boolean | null | undefined} [visitor] + * Handle each node. + * @param {boolean | null | undefined} [reverse] + * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). + * @returns {undefined} + * Nothing. + * + * @template {UnistNode} Tree + * Node type. + * @template {Test} Check + * `unist-util-is`-compatible test. + */ +export function visitParents(tree, test, visitor, reverse) { + /** @type {Test} */ + let check + + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor + // @ts-expect-error no visitor given, so `visitor` is test. + visitor = test + } else { + // @ts-expect-error visitor given, so `test` isn’t a visitor. + check = test + } + + const is = convert(check) + const step = reverse ? -1 : 1 + + factory(tree, undefined, [])() + + /** + * @param {UnistNode} node + * @param {number | undefined} index + * @param {Array} parents + */ + function factory(node, index, parents) { + const value = /** @type {Record} */ ( + node && typeof node === 'object' ? node : {} + ) + + if (typeof value.type === 'string') { + const name = + // `hast` + typeof value.tagName === 'string' + ? value.tagName + : // `xast` + typeof value.name === 'string' + ? value.name + : undefined + + Object.defineProperty(visit, 'name', { + value: + 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')' + }) + } + + return visit + + function visit() { + /** @type {Readonly} */ + let result = empty + /** @type {Readonly} */ + let subresult + /** @type {number} */ + let offset + /** @type {Array} */ + let grandparents + + if (!test || is(node, index, parents[parents.length - 1] || undefined)) { + // @ts-expect-error: `visitor` is now a visitor. + result = toResult(visitor(node, parents)) + + if (result[0] === EXIT) { + return result + } + } + + if ('children' in node && node.children) { + const nodeAsParent = /** @type {UnistParent} */ (node) + + if (nodeAsParent.children && result[0] !== SKIP) { + offset = (reverse ? nodeAsParent.children.length : -1) + step + grandparents = parents.concat(nodeAsParent) + + while (offset > -1 && offset < nodeAsParent.children.length) { + const child = nodeAsParent.children[offset] + + subresult = factory(child, offset, grandparents)() + + if (subresult[0] === EXIT) { + return subresult + } + + offset = + typeof subresult[1] === 'number' ? subresult[1] : offset + step + } + } + } + + return result + } + } +} + +/** + * Turn a return value into a clean result. + * + * @param {VisitorResult} value + * Valid return values from visitors. + * @returns {Readonly} + * Clean result. + */ +function toResult(value) { + if (Array.isArray(value)) { + return value + } + + if (typeof value === 'number') { + return [CONTINUE, value] + } + + return value === null || value === undefined ? empty : [value] +} diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/node_modules/unist-util-is b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/node_modules/unist-util-is new file mode 120000 index 0000000000..aa12a1668f --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/node_modules/unist-util-is @@ -0,0 +1 @@ +../../unist-util-is@6.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/package.json b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/package.json new file mode 100644 index 0000000000..a0fd6d7ae6 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit-parents@6.0.1/package.json @@ -0,0 +1,101 @@ +{ + "name": "unist-util-visit-parents", + "version": "6.0.1", + "description": "unist utility to recursively walk over nodes, with ancestral information", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "tree", + "ast", + "visit", + "traverse", + "walk", + "check", + "parent", + "parents" + ], + "repository": "syntax-tree/unist-util-visit-parents", + "bugs": "https://github.com/syntax-tree/unist-util-visit-parents/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": { + ".": "./index.js", + "./do-not-use-color": { + "node": "./lib/color.node.js", + "default": "./lib/color.js" + } + }, + "types": "index.d.ts", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "devDependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/node": "^20.0.0", + "@types/xast": "^2.0.0", + "c8": "^8.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "strip-ansi": "^7.0.0", + "tsd": "^0.28.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "#": "needed `any`s", + "ignoreFiles": [ + "lib/index.d.ts" + ], + "ignoreCatch": true, + "strict": true + }, + "xo": { + "prettier": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/index.js b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/index.js new file mode 100644 index 0000000000..4747999927 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/index.js @@ -0,0 +1,2 @@ +// Note: types exported from `index.d.ts` +export {CONTINUE, EXIT, SKIP, visit} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/lib/index.js b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/lib/index.js new file mode 100644 index 0000000000..180bd142e3 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/lib/index.js @@ -0,0 +1,182 @@ +/** + * @typedef {import('unist').Node} Node + * @typedef {import('unist').Parent} Parent + * @typedef {import('unist-util-is').Test} Test + * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult + */ + +/** + * Check if `Child` can be a child of `Ancestor`. + * + * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns + * `never`. + * + * @template {Node} Ancestor + * Node type. + * @template {Node} Child + * Node type. + * @typedef {( + * Ancestor extends Parent + * ? Child extends Ancestor['children'][number] + * ? Ancestor + * : never + * : never + * )} ParentsOf + */ + +/** + * @template {Node} [Visited=Node] + * Visited node type. + * @template {Parent} [Ancestor=Parent] + * Ancestor type. + * @callback Visitor + * Handle a node (matching `test`, if given). + * + * Visitors are free to transform `node`. + * They can also transform `parent`. + * + * Replacing `node` itself, if `SKIP` is not returned, still causes its + * descendants to be walked (which is a bug). + * + * When adding or removing previous siblings of `node` (or next siblings, in + * case of reverse), the `Visitor` should return a new `Index` to specify the + * sibling to traverse after `node` is traversed. + * Adding or removing next siblings of `node` (or previous siblings, in case + * of reverse) is handled as expected without needing to return a new `Index`. + * + * Removing the children property of `parent` still results in them being + * traversed. + * @param {Visited} node + * Found node. + * @param {Visited extends Node ? number | null : never} index + * Index of `node` in `parent`. + * @param {Ancestor extends Node ? Ancestor | null : never} parent + * Parent of `node`. + * @returns {VisitorResult} + * What to do next. + * + * An `Index` is treated as a tuple of `[CONTINUE, Index]`. + * An `Action` is treated as a tuple of `[Action]`. + * + * Passing a tuple back only makes sense if the `Action` is `SKIP`. + * When the `Action` is `EXIT`, that action can be returned. + * When the `Action` is `CONTINUE`, `Index` can be returned. + */ + +/** + * Build a typed `Visitor` function from a node and all possible parents. + * + * It will infer which values are passed as `node` and which as `parent`. + * + * @template {Node} Visited + * Node type. + * @template {Parent} Ancestor + * Parent type. + * @typedef {Visitor>} BuildVisitorFromMatch + */ + +/** + * Build a typed `Visitor` function from a list of descendants and a test. + * + * It will infer which values are passed as `node` and which as `parent`. + * + * @template {Node} Descendant + * Node type. + * @template {Test} Check + * Test type. + * @typedef {( + * BuildVisitorFromMatch< + * import('unist-util-visit-parents/complex-types.js').Matches, + * Extract + * > + * )} BuildVisitorFromDescendants + */ + +/** + * Build a typed `Visitor` function from a tree and a test. + * + * It will infer which values are passed as `node` and which as `parent`. + * + * @template {Node} [Tree=Node] + * Node type. + * @template {Test} [Check=string] + * Test type. + * @typedef {( + * BuildVisitorFromDescendants< + * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant, + * Check + * > + * )} BuildVisitor + */ + +import {visitParents} from 'unist-util-visit-parents' + +/** + * Visit nodes. + * + * This algorithm performs *depth-first* *tree traversal* in *preorder* + * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). + * + * You can choose for which nodes `visitor` is called by passing a `test`. + * For complex tests, you should test yourself in `visitor`, as it will be + * faster and will have improved type information. + * + * Walking the tree is an intensive task. + * Make use of the return values of the visitor when possible. + * Instead of walking a tree multiple times, walk it once, use `unist-util-is` + * to check if a node matches, and then perform different operations. + * + * You can change the tree. + * See `Visitor` for more info. + * + * @param tree + * Tree to traverse. + * @param test + * `unist-util-is`-compatible test + * @param visitor + * Handle each node. + * @param reverse + * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). + * @returns + * Nothing. + */ +export const visit = + /** + * @type {( + * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & + * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) + * )} + */ + ( + /** + * @param {Node} tree + * @param {Test} test + * @param {Visitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {void} + */ + function (tree, test, visitor, reverse) { + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor + visitor = test + test = null + } + + visitParents(tree, test, overload, reverse) + + /** + * @param {Node} node + * @param {Array} parents + */ + function overload(node, parents) { + const parent = parents[parents.length - 1] + return visitor( + node, + parent ? parent.children.indexOf(node) : null, + parent + ) + } + } + ) + +export {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents' diff --git a/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/node_modules/unist-util-visit-parents b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/node_modules/unist-util-visit-parents new file mode 120000 index 0000000000..c2e150ebeb --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/node_modules/unist-util-visit-parents @@ -0,0 +1 @@ +../../unist-util-visit-parents@5.1.3 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/package.json b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/package.json new file mode 100644 index 0000000000..0228d0aeea --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@4.1.2/package.json @@ -0,0 +1,103 @@ +{ + "name": "unist-util-visit", + "version": "4.1.2", + "description": "unist utility to visit nodes", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "remark", + "retext", + "rehype", + "mdast", + "hast", + "xast", + "nlcst", + "natural", + "language", + "markdown", + "html", + "xml", + "tree", + "ast", + "node", + "visit", + "walk" + ], + "repository": "syntax-tree/unist-util-visit", + "bugs": "https://github.com/syntax-tree/unist-util-visit/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Eugene Sharygin ", + "Richard Gibson " + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "complex-types.d.ts", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tsd": "^0.25.0", + "type-coverage": "^2.0.0", + "typescript": "^4.7.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/array-type": "off" + } + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/index.js b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/index.js new file mode 100644 index 0000000000..4747999927 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/index.js @@ -0,0 +1,2 @@ +// Note: types exported from `index.d.ts` +export {CONTINUE, EXIT, SKIP, visit} from './lib/index.js' diff --git a/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/lib/index.js b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/lib/index.js new file mode 100644 index 0000000000..0d521ed5e2 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/lib/index.js @@ -0,0 +1,313 @@ +/** + * @typedef {import('unist').Node} UnistNode + * @typedef {import('unist').Parent} UnistParent + * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult + */ + +/** + * @typedef {Exclude | undefined} Test + * Test from `unist-util-is`. + * + * Note: we have remove and add `undefined`, because otherwise when generating + * automatic `.d.ts` files, TS tries to flatten paths from a local perspective, + * which doesn’t work when publishing on npm. + */ + +// To do: use types from `unist-util-visit-parents` when it’s released. + +/** + * @typedef {( + * Fn extends (value: any) => value is infer Thing + * ? Thing + * : Fallback + * )} Predicate + * Get the value of a type guard `Fn`. + * @template Fn + * Value; typically function that is a type guard (such as `(x): x is Y`). + * @template Fallback + * Value to yield if `Fn` is not a type guard. + */ + +/** + * @typedef {( + * Check extends null | undefined // No test. + * ? Value + * : Value extends {type: Check} // String (type) test. + * ? Value + * : Value extends Check // Partial test. + * ? Value + * : Check extends Function // Function test. + * ? Predicate extends Value + * ? Predicate + * : never + * : never // Some other test? + * )} MatchesOne + * Check whether a node matches a primitive check in the type system. + * @template Value + * Value; typically unist `Node`. + * @template Check + * Value; typically `unist-util-is`-compatible test, but not arrays. + */ + +/** + * @typedef {( + * Check extends Array + * ? MatchesOne + * : MatchesOne + * )} Matches + * Check whether a node matches a check in the type system. + * @template Value + * Value; typically unist `Node`. + * @template Check + * Value; typically `unist-util-is`-compatible test. + */ + +/** + * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint + * Number; capped reasonably. + */ + +/** + * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment + * Increment a number in the type system. + * @template {Uint} [I=0] + * Index. + */ + +/** + * @typedef {( + * Node extends UnistParent + * ? Node extends {children: Array} + * ? Child extends Children ? Node : never + * : never + * : never + * )} InternalParent + * Collect nodes that can be parents of `Child`. + * @template {UnistNode} Node + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + */ + +/** + * @typedef {InternalParent, Child>} Parent + * Collect nodes in `Tree` that can be parents of `Child`. + * @template {UnistNode} Tree + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + */ + +/** + * @typedef {( + * Depth extends Max + * ? never + * : + * | InternalParent + * | InternalAncestor, Max, Increment> + * )} InternalAncestor + * Collect nodes in `Tree` that can be ancestors of `Child`. + * @template {UnistNode} Node + * All node types in a tree. + * @template {UnistNode} Child + * Node to search for. + * @template {Uint} [Max=10] + * Max; searches up to this depth. + * @template {Uint} [Depth=0] + * Current depth. + */ + +/** + * @typedef {( + * Tree extends UnistParent + * ? Depth extends Max + * ? Tree + * : Tree | InclusiveDescendant> + * : Tree + * )} InclusiveDescendant + * Collect all (inclusive) descendants of `Tree`. + * + * > 👉 **Note**: for performance reasons, this seems to be the fastest way to + * > recurse without actually running into an infinite loop, which the + * > previous version did. + * > + * > Practically, a max of `2` is typically enough assuming a `Root` is + * > passed, but it doesn’t improve performance. + * > It gets higher with `List > ListItem > Table > TableRow > TableCell`. + * > Using up to `10` doesn’t hurt or help either. + * @template {UnistNode} Tree + * Tree type. + * @template {Uint} [Max=10] + * Max; searches up to this depth. + * @template {Uint} [Depth=0] + * Current depth. + */ + +/** + * @callback Visitor + * Handle a node (matching `test`, if given). + * + * Visitors are free to transform `node`. + * They can also transform `parent`. + * + * Replacing `node` itself, if `SKIP` is not returned, still causes its + * descendants to be walked (which is a bug). + * + * When adding or removing previous siblings of `node` (or next siblings, in + * case of reverse), the `Visitor` should return a new `Index` to specify the + * sibling to traverse after `node` is traversed. + * Adding or removing next siblings of `node` (or previous siblings, in case + * of reverse) is handled as expected without needing to return a new `Index`. + * + * Removing the children property of `parent` still results in them being + * traversed. + * @param {Visited} node + * Found node. + * @param {Visited extends UnistNode ? number | undefined : never} index + * Index of `node` in `parent`. + * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent + * Parent of `node`. + * @returns {VisitorResult} + * What to do next. + * + * An `Index` is treated as a tuple of `[CONTINUE, Index]`. + * An `Action` is treated as a tuple of `[Action]`. + * + * Passing a tuple back only makes sense if the `Action` is `SKIP`. + * When the `Action` is `EXIT`, that action can be returned. + * When the `Action` is `CONTINUE`, `Index` can be returned. + * @template {UnistNode} [Visited=UnistNode] + * Visited node type. + * @template {UnistParent} [Ancestor=UnistParent] + * Ancestor type. + */ + +/** + * @typedef {Visitor>} BuildVisitorFromMatch + * Build a typed `Visitor` function from a node and all possible parents. + * + * It will infer which values are passed as `node` and which as `parent`. + * @template {UnistNode} Visited + * Node type. + * @template {UnistParent} Ancestor + * Parent type. + */ + +/** + * @typedef {( + * BuildVisitorFromMatch< + * Matches, + * Extract + * > + * )} BuildVisitorFromDescendants + * Build a typed `Visitor` function from a list of descendants and a test. + * + * It will infer which values are passed as `node` and which as `parent`. + * @template {UnistNode} Descendant + * Node type. + * @template {Test} Check + * Test type. + */ + +/** + * @typedef {( + * BuildVisitorFromDescendants< + * InclusiveDescendant, + * Check + * > + * )} BuildVisitor + * Build a typed `Visitor` function from a tree and a test. + * + * It will infer which values are passed as `node` and which as `parent`. + * @template {UnistNode} [Tree=UnistNode] + * Node type. + * @template {Test} [Check=Test] + * Test type. + */ + +import {visitParents} from 'unist-util-visit-parents' + +export {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents' + +/** + * Visit nodes. + * + * This algorithm performs *depth-first* *tree traversal* in *preorder* + * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). + * + * You can choose for which nodes `visitor` is called by passing a `test`. + * For complex tests, you should test yourself in `visitor`, as it will be + * faster and will have improved type information. + * + * Walking the tree is an intensive task. + * Make use of the return values of the visitor when possible. + * Instead of walking a tree multiple times, walk it once, use `unist-util-is` + * to check if a node matches, and then perform different operations. + * + * You can change the tree. + * See `Visitor` for more info. + * + * @overload + * @param {Tree} tree + * @param {Check} check + * @param {BuildVisitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {undefined} + * + * @overload + * @param {Tree} tree + * @param {BuildVisitor} visitor + * @param {boolean | null | undefined} [reverse] + * @returns {undefined} + * + * @param {UnistNode} tree + * Tree to traverse. + * @param {Visitor | Test} testOrVisitor + * `unist-util-is`-compatible test (optional, omit to pass a visitor). + * @param {Visitor | boolean | null | undefined} [visitorOrReverse] + * Handle each node (when test is omitted, pass `reverse`). + * @param {boolean | null | undefined} [maybeReverse=false] + * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). + * @returns {undefined} + * Nothing. + * + * @template {UnistNode} Tree + * Node type. + * @template {Test} Check + * `unist-util-is`-compatible test. + */ +export function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) { + /** @type {boolean | null | undefined} */ + let reverse + /** @type {Test} */ + let test + /** @type {Visitor} */ + let visitor + + if ( + typeof testOrVisitor === 'function' && + typeof visitorOrReverse !== 'function' + ) { + test = undefined + visitor = testOrVisitor + reverse = visitorOrReverse + } else { + // @ts-expect-error: assume the overload with test was given. + test = testOrVisitor + // @ts-expect-error: assume the overload with test was given. + visitor = visitorOrReverse + reverse = maybeReverse + } + + visitParents(tree, test, overload, reverse) + + /** + * @param {UnistNode} node + * @param {Array} parents + */ + function overload(node, parents) { + const parent = parents[parents.length - 1] + const index = parent ? parent.children.indexOf(node) : undefined + return visitor(node, index, parent) + } +} diff --git a/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/node_modules/unist-util-visit-parents b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/node_modules/unist-util-visit-parents new file mode 120000 index 0000000000..1f2fdccf86 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/node_modules/unist-util-visit-parents @@ -0,0 +1 @@ +../../unist-util-visit-parents@6.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/package.json b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/package.json new file mode 100644 index 0000000000..666623d1b9 --- /dev/null +++ b/.output/server/node_modules/.nitro/unist-util-visit@5.0.0/package.json @@ -0,0 +1,113 @@ +{ + "name": "unist-util-visit", + "version": "5.0.0", + "description": "unist utility to visit nodes", + "license": "MIT", + "keywords": [ + "unist", + "unist-util", + "util", + "utility", + "remark", + "retext", + "rehype", + "mdast", + "hast", + "xast", + "nlcst", + "natural", + "language", + "markdown", + "html", + "xml", + "tree", + "ast", + "node", + "visit", + "walk" + ], + "repository": "syntax-tree/unist-util-visit", + "bugs": "https://github.com/syntax-tree/unist-util-visit/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Eugene Sharygin ", + "Richard Gibson " + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "devDependencies": { + "@types/mdast": "^4.0.0", + "@types/node": "^20.0.0", + "c8": "^8.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tsd": "^0.28.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && tsd && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "#": "needed `any`s", + "ignoreFiles": [ + "lib/index.d.ts" + ], + "ignoreCatch": true, + "strict": true + }, + "xo": { + "overrides": [ + { + "files": [ + "**/*.ts" + ], + "rules": { + "import/no-extraneous-dependencies": "off" + } + } + ], + "prettier": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@babel/parser/lib/index.js b/.output/server/node_modules/@babel/parser/lib/index.js new file mode 100644 index 0000000000..bcf69004cd --- /dev/null +++ b/.output/server/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,14465 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} +class Position { + constructor(line, col, index) { + this.line = void 0; + this.column = void 0; + this.index = void 0; + this.line = line; + this.column = col; + this.index = index; + } +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } +} +function createPositionWithColumnOffset(position, columnOffset) { + const { + line, + column, + index + } = position; + return new Position(line, column + columnOffset, index + columnOffset); +} +const code = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"; +var ModuleErrors = { + ImportMetaOutsideModule: { + message: `import.meta may appear only with 'sourceType: "module"'`, + code + }, + ImportOutsideModule: { + message: `'import' and 'export' may appear only with 'sourceType: "module"'`, + code + } +}; +const NodeDescriptions = { + ArrayPattern: "array destructuring pattern", + AssignmentExpression: "assignment expression", + AssignmentPattern: "assignment expression", + ArrowFunctionExpression: "arrow function expression", + ConditionalExpression: "conditional expression", + CatchClause: "catch clause", + ForOfStatement: "for-of statement", + ForInStatement: "for-in statement", + ForStatement: "for-loop", + FormalParameters: "function parameter list", + Identifier: "identifier", + ImportSpecifier: "import specifier", + ImportDefaultSpecifier: "import default specifier", + ImportNamespaceSpecifier: "import namespace specifier", + ObjectPattern: "object destructuring pattern", + ParenthesizedExpression: "parenthesized expression", + RestElement: "rest element", + UpdateExpression: { + true: "prefix operation", + false: "postfix operation" + }, + VariableDeclarator: "variable declaration", + YieldExpression: "yield expression" +}; +const toNodeDescription = ({ + type, + prefix +}) => type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[String(prefix)] : NodeDescriptions[type]; +var StandardErrors = { + AccessorIsGenerator: ({ + kind + }) => `A ${kind}ter cannot be a generator.`, + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncFunction: "'await' is only allowed within async functions.", + BadGetterArity: "A 'get' accessor must not have any formal parameters.", + BadSetterArity: "A 'set' accessor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: ({ + kind + }) => `Missing initializer in ${kind} declaration.`, + DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.", + DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.', + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: ({ + exportName + }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`, + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + DynamicImportPhaseRequiresImportExpressions: ({ + phase + }) => `'import.${phase}(...)' can only be parsed when using the 'createImportExpressions' option.`, + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: ({ + localName, + exportName + }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`, + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: ({ + type + }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, + ForInUsing: "For-in loop may not start with 'using' declaration.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: ({ + type + }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.", + ImportBindingIsString: ({ + importName + }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, + ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", + ImportCallArity: ({ + maxArgumentCount + }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`, + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", + ImportReflectionHasAssertion: "`import module x` cannot have assertions.", + ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.', + IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidCoverInitializedName: "Invalid shorthand property initializer.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: ({ + radix + }) => `Expected number in radix ${radix}.`, + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: ({ + reservedWord + }) => `Escape sequence in keyword ${reservedWord}.`, + InvalidIdentifier: ({ + identifierName + }) => `Invalid identifier ${identifierName}.`, + InvalidLhs: ({ + ancestor + }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsBinding: ({ + ancestor + }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsOptionalChaining: ({ + ancestor + }) => `Invalid optional chaining in the left-hand side of ${toNodeDescription(ancestor)}.`, + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: ({ + unexpected + }) => `Unexpected character '${unexpected}'.`, + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: ({ + identifierName + }) => `Private name #${identifierName} is not defined.`, + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: ({ + labelName + }) => `Label '${labelName}' is already declared.`, + LetInLexicalBinding: "'let' is disallowed as a lexically bound name.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingPlugin: ({ + missingPlugin + }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingOneOfPlugins: ({ + missingPlugin + }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: ({ + key + }) => `Duplicate key "${key}" is not allowed in module attributes.`, + ModuleExportNameHasLoneSurrogate: ({ + surrogateCharCode + }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`, + ModuleExportUndefined: ({ + localName + }) => `Export '${localName}' is not defined.`, + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PrivateInExpectedIn: ({ + identifierName + }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`, + PrivateNameRedeclaration: ({ + identifierName + }) => `Duplicate private name #${identifierName}.`, + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.", + SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.', + StaticPrototype: "Classes may not have static property named prototype.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: ({ + keyword + }) => `Unexpected keyword '${keyword}'.`, + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Unexpected private name.", + UnexpectedReservedWord: ({ + reservedWord + }) => `Unexpected reserved word '${reservedWord}'.`, + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: ({ + expected, + unexpected + }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`, + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.", + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: ({ + target, + onlyValidPropertyName + }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`, + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.", + VarRedeclaration: ({ + identifierName + }) => `Identifier '${identifierName}' has already been declared.`, + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}; +var StrictModeErrors = { + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: ({ + referenceName + }) => `Assigning to '${referenceName}' in strict mode.`, + StrictEvalArgumentsBinding: ({ + bindingName + }) => `Binding '${bindingName}' in strict mode.`, + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode." +}; +const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); +var PipelineOperatorErrors = { + PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: ({ + token + }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`, + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: ({ + type + }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ + type + })}; please wrap it in parentheses.`, + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' +}; +const _excluded$1 = ["toMessage"], + _excluded2$1 = ["message"]; +function defineHidden(obj, key, value) { + Object.defineProperty(obj, key, { + enumerable: false, + configurable: true, + value + }); +} +function toParseErrorConstructor(_ref) { + let { + toMessage + } = _ref, + properties = _objectWithoutPropertiesLoose(_ref, _excluded$1); + return function constructor({ + loc, + details + }) { + const error = new SyntaxError(); + Object.assign(error, properties, { + loc, + pos: loc.index + }); + if ("missingPlugin" in details) { + Object.assign(error, { + missingPlugin: details.missingPlugin + }); + } + defineHidden(error, "clone", function clone(overrides = {}) { + var _overrides$loc; + const { + line, + column, + index + } = (_overrides$loc = overrides.loc) != null ? _overrides$loc : loc; + return constructor({ + loc: new Position(line, column, index), + details: Object.assign({}, details, overrides.details) + }); + }); + defineHidden(error, "details", details); + Object.defineProperty(error, "message", { + configurable: true, + get() { + const message = `${toMessage(details)} (${loc.line}:${loc.column})`; + this.message = message; + return message; + }, + set(value) { + Object.defineProperty(this, "message", { + value, + writable: true + }); + } + }); + return error; + }; +} +function ParseErrorEnum(argument, syntaxPlugin) { + if (Array.isArray(argument)) { + return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]); + } + const ParseErrorConstructors = {}; + for (const reasonCode of Object.keys(argument)) { + const template = argument[reasonCode]; + const _ref2 = typeof template === "string" ? { + message: () => template + } : typeof template === "function" ? { + message: template + } : template, + { + message + } = _ref2, + rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1); + const toMessage = typeof message === "string" ? () => message : message; + ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ + code: "BABEL_PARSER_SYNTAX_ERROR", + reasonCode, + toMessage + }, syntaxPlugin ? { + syntaxPlugin + } : {}, rest)); + } + return ParseErrorConstructors; +} +const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors)); +const { + defineProperty +} = Object; +const toUnenumerable = (object, key) => defineProperty(object, key, { + enumerable: false, + value: object[key] +}); +function toESTreeLocation(node) { + node.loc.start && toUnenumerable(node.loc.start, "index"); + node.loc.end && toUnenumerable(node.loc.end, "index"); + return node; +} +var estree = superClass => class ESTreeParserMixin extends superClass { + parse() { + const file = toESTreeLocation(super.parse()); + if (this.options.tokens) { + file.tokens = file.tokens.map(toESTreeLocation); + } + return file; + } + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + try { + regex = new RegExp(pattern, flags); + } catch (e) {} + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + parseBigIntLiteral(value) { + let bigInt; + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + directiveToStmt(directive) { + const expression = directive.value; + delete directive.value; + expression.type = "Literal"; + expression.raw = expression.extra.raw; + expression.value = expression.extra.expressionValue; + const stmt = directive; + stmt.type = "ExpressionStatement"; + stmt.expression = expression; + stmt.directive = expression.extra.rawValue; + delete expression.extra; + return stmt; + } + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + getObjectOrClassMethodParams(method) { + return method.value.params; + } + isValidDirective(stmt) { + var _stmt$expression$extr; + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); + if (method.typeParameters) { + method.value.typeParameters = method.typeParameters; + delete method.typeParameters; + } + classBody.body.push(method); + } + parsePrivateName() { + const node = super.parsePrivateName(); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + } + return this.convertPrivateNameToPrivateIdentifier(node); + } + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + node = node; + delete node.id; + node.name = name; + node.type = "PrivateIdentifier"; + return node; + } + isPrivateName(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + } + return node.type === "PrivateIdentifier"; + } + getPrivateNameSV(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + } + return node.name; + } + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + funcNode.type = "FunctionExpression"; + delete funcNode.kind; + node.value = funcNode; + if (type === "ClassPrivateMethod") { + node.computed = false; + } + return this.finishNode(node, "MethodDefinition"); + } + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + return propertyNode; + } + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + propertyNode.computed = false; + return propertyNode; + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor); + if (node) { + node.type = "Property"; + if (node.kind === "method") { + node.kind = "init"; + } + node.shorthand = false; + } + return node; + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (node) { + node.kind = "init"; + node.type = "Property"; + } + return node; + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return type === "Property" ? "value" : super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + return super.isAssignable(node, isBinding); + } + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + } else { + super.toAssignable(node, isLHS); + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.kind === "get" || prop.kind === "set") { + this.raise(Errors.PatternHasAccessor, { + at: prop.key + }); + } else if (prop.method) { + this.raise(Errors.PatternHasMethod, { + at: prop.key + }); + } else { + super.toAssignableObjectExpressionProp(prop, isLast, isLHS); + } + } + finishCallExpression(unfinished, optional) { + const node = super.finishCallExpression(unfinished, optional); + if (node.callee.type === "Import") { + node.type = "ImportExpression"; + node.source = node.arguments[0]; + if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + var _node$arguments$, _node$arguments$2; + node.options = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null; + node.attributes = (_node$arguments$2 = node.arguments[1]) != null ? _node$arguments$2 : null; + } + delete node.arguments; + delete node.callee; + } + return node; + } + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + super.toReferencedArguments(node); + } + parseExport(unfinished, decorators) { + const exportStartLoc = this.state.lastTokStartLoc; + const node = super.parseExport(unfinished, decorators); + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + node.type = "ExportAllDeclaration"; + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + case "ExportDefaultDeclaration": + { + var _declaration$decorato; + const { + declaration + } = node; + if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) { + this.resetStartLocation(node, exportStartLoc); + } + } + break; + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + const node = super.parseSubscript(base, startLoc, noCalls, state); + if (state.optionalChainMember) { + if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") { + node.type = node.type.substring(8); + } + if (state.stop) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNode(chain, "ChainExpression"); + } + } else if (node.type === "MemberExpression" || node.type === "CallExpression") { + node.optional = false; + } + return node; + } + isOptionalMemberExpression(node) { + if (node.type === "ChainExpression") { + return node.expression.type === "MemberExpression"; + } + return super.isOptionalMemberExpression(node); + } + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + return super.hasPropertyAsPrivateName(node); + } + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + isObjectMethod(node) { + return node.method || node.kind === "get" || node.kind === "set"; + } + finishNodeAt(node, type, endLoc) { + return toESTreeLocation(super.finishNodeAt(node, type, endLoc)); + } + resetStartLocation(node, startLoc) { + super.resetStartLocation(node, startLoc); + toESTreeLocation(node); + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + super.resetEndLocation(node, endLoc); + toESTreeLocation(node); + } +}; +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } +} +const types = { + brace: new TokContext("{"), + j_oTag: new TokContext("...", true) +}; +{ + types.template = new TokContext("`", true); +} +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + { + this.updateContext = null; + } + } +} +const keywords$1 = new Map(); +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} +function createKeywordLike(name, options = {}) { + var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2; + ++tokenTypeCounter; + keywords$1.set(name, tokenTypeCounter); + tokenLabels.push(name); + tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1); + tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false); + tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false); + tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false); + tokenTypes.push(new ExportedTokenType("name", options)); + return tokenTypeCounter; +} +const tt = { + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}"), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + templateTail: createToken("...`", { + startsExpr + }), + templateNonTail: createToken("...${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + xorAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + doubleCaret: createToken("^^", { + startsExpr + }), + doubleAt: createToken("@@", { + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + lt: createBinop("/<=/>=", 7), + gt: createBinop("/<=/>=", 7), + relational: createBinop("/<=/>=", 7), + bitShift: createBinop("<>/>>>", 8), + bitShiftL: createBinop("<>/>>>", 8), + bitShiftR: createBinop("<>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + _as: createKeywordLike("as", { + startsExpr + }), + _assert: createKeywordLike("assert", { + startsExpr + }), + _async: createKeywordLike("async", { + startsExpr + }), + _await: createKeywordLike("await", { + startsExpr + }), + _defer: createKeywordLike("defer", { + startsExpr + }), + _from: createKeywordLike("from", { + startsExpr + }), + _get: createKeywordLike("get", { + startsExpr + }), + _let: createKeywordLike("let", { + startsExpr + }), + _meta: createKeywordLike("meta", { + startsExpr + }), + _of: createKeywordLike("of", { + startsExpr + }), + _sent: createKeywordLike("sent", { + startsExpr + }), + _set: createKeywordLike("set", { + startsExpr + }), + _source: createKeywordLike("source", { + startsExpr + }), + _static: createKeywordLike("static", { + startsExpr + }), + _using: createKeywordLike("using", { + startsExpr + }), + _yield: createKeywordLike("yield", { + startsExpr + }), + _asserts: createKeywordLike("asserts", { + startsExpr + }), + _checks: createKeywordLike("checks", { + startsExpr + }), + _exports: createKeywordLike("exports", { + startsExpr + }), + _global: createKeywordLike("global", { + startsExpr + }), + _implements: createKeywordLike("implements", { + startsExpr + }), + _intrinsic: createKeywordLike("intrinsic", { + startsExpr + }), + _infer: createKeywordLike("infer", { + startsExpr + }), + _is: createKeywordLike("is", { + startsExpr + }), + _mixins: createKeywordLike("mixins", { + startsExpr + }), + _proto: createKeywordLike("proto", { + startsExpr + }), + _require: createKeywordLike("require", { + startsExpr + }), + _satisfies: createKeywordLike("satisfies", { + startsExpr + }), + _keyof: createKeywordLike("keyof", { + startsExpr + }), + _readonly: createKeywordLike("readonly", { + startsExpr + }), + _unique: createKeywordLike("unique", { + startsExpr + }), + _abstract: createKeywordLike("abstract", { + startsExpr + }), + _declare: createKeywordLike("declare", { + startsExpr + }), + _enum: createKeywordLike("enum", { + startsExpr + }), + _module: createKeywordLike("module", { + startsExpr + }), + _namespace: createKeywordLike("namespace", { + startsExpr + }), + _interface: createKeywordLike("interface", { + startsExpr + }), + _type: createKeywordLike("type", { + startsExpr + }), + _opaque: createKeywordLike("opaque", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr: true + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr: true + }), + jsxTagEnd: createToken("jsxTagEnd"), + placeholder: createToken("%%", { + startsExpr: true + }) +}; +function tokenIsIdentifier(token) { + return token >= 93 && token <= 132; +} +function tokenKeywordOrIdentifierIsKeyword(token) { + return token <= 92; +} +function tokenIsKeywordOrIdentifier(token) { + return token >= 58 && token <= 132; +} +function tokenIsLiteralPropertyName(token) { + return token >= 58 && token <= 136; +} +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 29 && token <= 33; +} +function tokenIsFlowInterfaceOrTypeOrOpaque(token) { + return token >= 129 && token <= 131; +} +function tokenIsLoop(token) { + return token >= 90 && token <= 92; +} +function tokenIsKeyword(token) { + return token >= 58 && token <= 92; +} +function tokenIsOperator(token) { + return token >= 39 && token <= 59; +} +function tokenIsPostfix(token) { + return token === 34; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenIsTSTypeOperator(token) { + return token >= 121 && token <= 123; +} +function tokenIsTSDeclarationStart(token) { + return token >= 124 && token <= 130; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 57; +} +function tokenIsTemplate(token) { + return token >= 24 && token <= 25; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +{ + tokenTypes[8].updateContext = context => { + context.pop(); + }; + tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => { + context.push(types.brace); + }; + tokenTypes[22].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + }; + tokenTypes[142].updateContext = context => { + context.push(types.j_expr, types.j_oTag); + }; +} +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; +function isInAstralSet(code, set) { + let pos = 0x10000; + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + return false; +} +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} +function isIteratorStart(current, next, next2) { + return current === 64 && next === 64 && isIdentifierStart(next2); +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} +class Scope { + constructor(flags) { + this.var = new Set(); + this.lexical = new Set(); + this.functions = new Set(); + this.flags = flags; + } +} +class ScopeHandler { + constructor(parser, inModule) { + this.parser = void 0; + this.scopeStack = []; + this.inModule = void 0; + this.undefinedExports = new Map(); + this.parser = parser; + this.inModule = inModule; + } + get inTopLevel() { + return (this.currentScope().flags & 1) > 0; + } + get inFunction() { + return (this.currentVarScopeFlags() & 2) > 0; + } + get allowSuper() { + return (this.currentThisScopeFlags() & 16) > 0; + } + get allowDirectSuper() { + return (this.currentThisScopeFlags() & 32) > 0; + } + get inClass() { + return (this.currentThisScopeFlags() & 64) > 0; + } + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & 64) > 0 && (flags & 2) === 0; + } + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 128) { + return true; + } + if (flags & (387 | 64)) { + return false; + } + } + } + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & 2) > 0; + } + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + createScope(flags) { + return new Scope(flags); + } + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + exit() { + const scope = this.scopeStack.pop(); + return scope.flags; + } + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & (2 | 128) || !this.parser.inModule && scope.flags & 1); + } + declareName(name, bindingType, loc) { + let scope = this.currentScope(); + if (bindingType & 8 || bindingType & 16) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + if (bindingType & 16) { + scope.functions.add(name); + } else { + scope.lexical.add(name); + } + if (bindingType & 8) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & 4) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, loc); + scope.var.add(name); + this.maybeExportDefined(scope, name); + if (scope.flags & 387) break; + } + } + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + maybeExportDefined(scope, name) { + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + checkRedeclarationInScope(scope, name, bindingType, loc) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.parser.raise(Errors.VarRedeclaration, { + at: loc, + identifierName: name + }); + } + } + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & 1)) return false; + if (bindingType & 8) { + return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name); + } + if (bindingType & 16) { + return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name); + } + return scope.lexical.has(name) && !(scope.flags & 8 && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name); + } + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) { + this.undefinedExports.set(name, id.loc.start); + } + } + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 387) { + return flags; + } + } + } + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & (387 | 64) && !(flags & 4)) { + return flags; + } + } + } +} +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } +} +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + if (bindingType & 2048) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + super.declareName(name, bindingType, loc); + } + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(scope, name, bindingType)) return true; + if (bindingType & 2048) { + return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name)); + } + return false; + } + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } +} +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + hasPlugin(pluginConfig) { + if (typeof pluginConfig === "string") { + return this.plugins.has(pluginConfig); + } else { + const [pluginName, pluginOptions] = pluginConfig; + if (!this.hasPlugin(pluginName)) { + return false; + } + const actualOptions = this.plugins.get(pluginName); + for (const key of Object.keys(pluginOptions)) { + if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) { + return false; + } + } + return true; + } + } + getPluginOption(plugin, name) { + var _this$plugins$get; + return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name]; + } +} +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} +function setLeadingComments(node, comments) { + if (node.leadingComments === undefined) { + node.leadingComments = comments; + } else { + node.leadingComments.unshift(...comments); + } +} +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else { + node.innerComments.unshift(...comments); + } +} +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + this.state.comments.push(comment); + } + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + const { + start: nodeStart + } = node; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + break; + } + } + } + finalizeComment(commentWS) { + const { + comments + } = commentWS; + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + if (commentWS.trailingNode !== null) { + setLeadingComments(commentWS.trailingNode, comments); + } + } else { + const { + containingNode: node, + start: commentStart + } = commentWS; + if (this.input.charCodeAt(commentStart - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + adjustInnerComments(node, node.properties, commentWS); + break; + case "CallExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + adjustInnerComments(node, node.params, commentWS); + break; + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + adjustInnerComments(node, node.elements, commentWS); + break; + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + default: + { + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + finalizeRemainingComments() { + const { + commentStack + } = this.state; + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + this.state.commentStack = []; + } + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + resetPreviousIdentifierLeadingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + if (commentStack[length - 1].trailingNode === node) { + commentStack[length - 1].trailingNode = null; + } else if (length >= 2 && commentStack[length - 2].trailingNode === node) { + commentStack[length - 2].trailingNode = null; + } + } + takeSurroundingComments(node, start, end) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + const commentStart = commentWS.start; + if (commentStart === end) { + commentWS.leadingNode = node; + } else if (commentEnd === start) { + commentWS.trailingNode = node; + } else if (commentEnd < start) { + break; + } + } + } +} +const lineBreak = /\r\n?|[\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + default: + return false; + } +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g; +const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y"); +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + default: + return false; + } +} +class State { + constructor() { + this.strict = void 0; + this.curLine = void 0; + this.lineStart = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.maybeInArrowParameters = false; + this.inType = false; + this.noAnonFunctionType = false; + this.hasFlowComment = false; + this.isAmbientContext = false; + this.inAbstractClass = false; + this.inDisallowConditionalTypesContext = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.labels = []; + this.comments = []; + this.commentStack = []; + this.pos = 0; + this.type = 139; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.context = [types.brace]; + this.canStartJSXElement = true; + this.containsEsc = false; + this.firstInvalidTemplateEscapePos = null; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + init({ + strictMode, + sourceType, + startLine, + startColumn + }) { + this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.curLine = startLine; + this.lineStart = -startColumn; + this.startLoc = this.endLoc = new Position(startLine, startColumn, 0); + } + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart, this.pos); + } + clone(skipArrays) { + const state = new State(); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + let val = this[key]; + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + state[key] = val; + } + return state; + } +} +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; +const forbiddenNumericSeparatorSiblings = { + decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: new Set([46, 88, 95, 120]) +}; +const isAllowedNumericSeparatorSibling = { + bin: ch => ch === 48 || ch === 49, + oct: ch => ch >= 48 && ch <= 55, + dec: ch => ch >= 48 && ch <= 57, + hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 +}; +function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length + } = input; + for (;;) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; +} +function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); +} +function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = ch => ({ + pos, + ch, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: + { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: + { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res("\t"); + case 98: + return res("\b"); + case 118: + return res("\u000b"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = input.slice(startPos, pos + 2).match(/^[0-7]+/); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } +} +function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; +} +function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + if (bailOnError) return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; +} +function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; +} +const _excluded = ["at"], + _excluded2 = ["at"]; +function buildPosition(pos, lineStart, curLine) { + return new Position(curLine, pos - lineStart, pos); +} +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); +class Token { + constructor(state) { + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } +} +class Tokenizer extends CommentsParser { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.errorHandlers_readInt = { + invalidDigit: (pos, lineStart, curLine, radix) => { + if (!this.options.errorRecovery) return false; + this.raise(Errors.InvalidDigit, { + at: buildPosition(pos, lineStart, curLine), + radix + }); + return true; + }, + numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence), + unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator) + }; + this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, { + invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence), + invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint) + }); + this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: (pos, lineStart, curLine) => { + this.recordStrictModeErrors(Errors.StrictNumericEscape, { + at: buildPosition(pos, lineStart, curLine) + }); + }, + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedString, { + at: buildPosition(pos - 1, lineStart, curLine) + }); + } + }); + this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape), + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedTemplate, { + at: buildPosition(pos, lineStart, curLine) + }); + } + }); + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.isLookahead = false; + } + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + next() { + this.checkKeywordEscapes(); + if (this.options.tokens) { + this.pushToken(new Token(this.state)); + } + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + match(type) { + return this.state.type === type; + } + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + context: [this.curContext()], + inType: state.inType, + startLoc: state.startLoc, + lastTokEndLoc: state.lastTokEndLoc, + curLine: state.curLine, + lineStart: state.lineStart, + curPosition: state.curPosition + }; + } + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + lookaheadCharCode() { + return this.input.charCodeAt(this.nextTokenStart()); + } + nextTokenInLineStart() { + return this.nextTokenInLineStartSince(this.state.pos); + } + nextTokenInLineStartSince(pos) { + skipWhiteSpaceInLine.lastIndex = pos; + return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos; + } + lookaheadInLineCharCode() { + return this.input.charCodeAt(this.nextTokenInLineStart()); + } + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + return cp; + } + setStrict(strict) { + this.state.strict = strict; + if (strict) { + this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, { + at + })); + this.state.strictErrors.clear(); + } + } + curContext() { + return this.state.context[this.state.context.length - 1]; + } + nextToken() { + this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + if (this.state.pos >= this.length) { + this.finishToken(139); + return; + } + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + skipBlockComment(commentEnd) { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf(commentEnd, start + 2); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + this.state.pos = end + commentEnd.length; + lineBreakG.lastIndex = start + 2; + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start, + end: end + commentEnd.length, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start, + end, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + skipSpace() { + const spaceStart = this.state.pos; + const comments = []; + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment("*/"); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + break; + } + case 47: + { + const comment = this.skipLineComment(2); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + break; + } + default: + break loop; + } + break; + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule && this.options.annexB) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule && this.options.annexB) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + } + } + if (comments.length > 0) { + const end = this.state.pos; + const commentWhitespace = { + start: spaceStart, + end, + comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(commentWhitespace); + } + } + finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + if (!this.isLookahead) { + this.updateContext(prevType); + } + } + replaceToken(type) { + this.state.type = type; + this.updateContext(); + } + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + if (next >= 48 && next <= 57) { + throw this.raise(Errors.UnexpectedDigitAfterHash, { + at: this.state.curPosition() + }); + } + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + if (this.getPluginOption("recordAndTuple", "syntaxType") === "bar") { + throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + if (next === 123) { + this.finishToken(7); + } else { + this.finishToken(1); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(138, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(138, this.readWord1()); + } else { + this.finishOp(27, 1); + } + } + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(21); + } else { + ++this.state.pos; + this.finishToken(16); + } + } + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(31, 2); + } else { + this.finishOp(56, 1); + } + } + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(28, value); + return true; + } + readToken_mult_modulo(code) { + let type = code === 42 ? 55 : 54; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 57; + } + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 33 : 30; + } + this.finishOp(type, width); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(code === 124 ? 41 : 42, 2); + } + return; + } + if (code === 124) { + if (next === 62) { + this.finishOp(39, 2); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(9); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(4); + return; + } + } + if (next === 61) { + this.finishOp(30, 2); + return; + } + this.finishOp(code === 124 ? 43 : 45, 1); + } + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61 && !this.state.inType) { + this.finishOp(32, 2); + } else if (next === 94 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "^^" + }])) { + this.finishOp(37, 2); + const lookaheadCh = this.input.codePointAt(this.state.pos); + if (lookaheadCh === 94) { + this.unexpected(); + } + } else { + this.finishOp(44, 1); + } + } + readToken_atSign() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 64 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "@@" + }])) { + this.finishOp(38, 2); + } else { + this.finishOp(26, 1); + } + } + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + this.finishOp(34, 2); + return; + } + if (next === 61) { + this.finishOp(30, 2); + } else { + this.finishOp(53, 1); + } + } + readToken_lt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 60) { + if (this.input.charCodeAt(pos + 2) === 61) { + this.finishOp(30, 3); + return; + } + this.finishOp(51, 2); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(47, 1); + } + readToken_gt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 62) { + const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(pos + size) === 61) { + this.finishOp(30, size + 1); + return; + } + this.finishOp(52, size); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(48, 1); + } + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(19); + return; + } + this.finishOp(code === 61 ? 29 : 35, 1); + } + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + if (next === 63) { + if (next2 === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(40, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(18); + } else { + ++this.state.pos; + this.finishToken(17); + } + } + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + case 40: + ++this.state.pos; + this.finishToken(10); + return; + case 41: + ++this.state.pos; + this.finishToken(11); + return; + case 59: + ++this.state.pos; + this.finishToken(13); + return; + case 44: + ++this.state.pos; + this.finishToken(12); + return; + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(2); + } else { + ++this.state.pos; + this.finishToken(0); + } + return; + case 93: + ++this.state.pos; + this.finishToken(3); + return; + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + this.state.pos += 2; + this.finishToken(6); + } else { + ++this.state.pos; + this.finishToken(5); + } + return; + case 125: + ++this.state.pos; + this.finishToken(8); + return; + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(15, 2); + } else { + ++this.state.pos; + this.finishToken(14); + } + return; + case 63: + this.readToken_question(); + return; + case 96: + this.readTemplateToken(); + return; + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + case 34: + case 39: + this.readString(code); + return; + case 47: + this.readToken_slash(); + return; + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + case 94: + this.readToken_caret(); + return; + case 43: + case 45: + this.readToken_plus_min(code); + return; + case 60: + this.readToken_lt(); + return; + case 62: + this.readToken_gt(); + return; + case 61: + case 33: + this.readToken_eq_excl(code); + return; + case 126: + this.finishOp(36, 1); + return; + case 64: + this.readToken_atSign(); + return; + case 35: + this.readToken_numberSign(); + return; + case 92: + this.readWord(); + return; + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + } + throw this.raise(Errors.InvalidOrUnexpectedToken, { + at: this.state.curPosition(), + unexpected: String.fromCodePoint(code) + }); + } + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + readRegexp() { + const startLoc = this.state.startLoc; + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + const ch = this.input.charCodeAt(pos); + if (isNewLine(ch)) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + escaped = ch === 92; + } + } + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start); + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + if (VALID_REGEX_FLAGS.has(cp)) { + if (cp === 118) { + if (mods.includes("u")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } else if (cp === 117) { + if (mods.includes("v")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } + if (mods.includes(char)) { + this.raise(Errors.DuplicateRegExpFlags, { + at: nextPos() + }); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(Errors.MalformedRegExpFlags, { + at: nextPos() + }); + } else { + break; + } + ++pos; + mods += char; + } + this.state.pos = pos; + this.finishToken(137, { + pattern: content, + flags: mods + }); + } + readInt(radix, len, forceLen = false, allowNumSeparator = true) { + const { + n, + pos + } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false); + this.state.pos = pos; + return n; + } + readRadixNumber(radix) { + const startLoc = this.state.curPosition(); + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + if (val == null) { + this.raise(Errors.InvalidDigit, { + at: createPositionWithColumnOffset(startLoc, 2), + radix + }); + } + const next = this.input.charCodeAt(this.state.pos); + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + if (isBigInt) { + const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(135, str); + return; + } + this.finishToken(134, val); + } + readNumber(startsWithDot) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isFloat = false; + let isBigInt = false; + let isDecimal = false; + let hasExponent = false; + let isOctal = false; + if (!startsWithDot && this.readInt(10) === null) { + this.raise(Errors.InvalidNumber, { + at: this.state.curPosition() + }); + } + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(Errors.StrictOctalLiteral, { + at: startLoc + }); + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + if (underscorePos > 0) { + this.raise(Errors.ZeroDigitNumericSeparator, { + at: createPositionWithColumnOffset(startLoc, underscorePos) + }); + } + } + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + let next = this.input.charCodeAt(this.state.pos); + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + if (next === 43 || next === 45) { + ++this.state.pos; + } + if (this.readInt(10) === null) { + this.raise(Errors.InvalidOrMissingExponent, { + at: startLoc + }); + } + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(Errors.InvalidBigIntLiteral, { + at: startLoc + }); + } + ++this.state.pos; + isBigInt = true; + } + if (next === 109) { + this.expectPlugin("decimal", this.state.curPosition()); + if (hasExponent || hasLeadingZero) { + this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + ++this.state.pos; + isDecimal = true; + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + if (isBigInt) { + this.finishToken(135, str); + return; + } + if (isDecimal) { + this.finishToken(136, str); + return; + } + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(134, val); + } + readCodePoint(throwOnInvalid) { + const { + code, + pos + } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint); + this.state.pos = pos; + return code; + } + readString(quote) { + const { + str, + pos, + curLine, + lineStart + } = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + this.finishToken(133, str); + } + readTemplateContinuation() { + if (!this.match(8)) { + this.unexpected(null, 8); + } + this.state.pos--; + this.readTemplateToken(); + } + readTemplateToken() { + const opening = this.input[this.state.pos]; + const { + str, + firstInvalidLoc, + pos, + curLine, + lineStart + } = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + if (firstInvalidLoc) { + this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, firstInvalidLoc.pos); + } + if (this.input.codePointAt(pos) === 96) { + this.finishToken(24, firstInvalidLoc ? null : opening + str + "`"); + } else { + this.state.pos++; + this.finishToken(25, firstInvalidLoc ? null : opening + str + "${"); + } + } + recordStrictModeErrors(toParseError, { + at + }) { + const index = at.index; + if (this.state.strict && !this.state.strictErrors.has(index)) { + this.raise(toParseError, { + at + }); + } else { + this.state.strictErrors.set(index, [toParseError, at]); + } + } + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.curPosition(); + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(Errors.MissingUnicodeEscape, { + at: this.state.curPosition() + }); + chunkStart = this.state.pos - 1; + continue; + } + ++this.state.pos; + const esc = this.readCodePoint(true); + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(Errors.EscapedCharNotAnIdentifier, { + at: escStart + }); + } + word += String.fromCodePoint(esc); + } + chunkStart = this.state.pos; + } else { + break; + } + } + return word + this.input.slice(chunkStart, this.state.pos); + } + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word); + if (type !== undefined) { + this.finishToken(type, tokenLabelName(type)); + } else { + this.finishToken(132, word); + } + } + checkKeywordEscapes() { + const { + type + } = this.state; + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.startLoc, + reservedWord: tokenLabelName(type) + }); + } + } + raise(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded); + const loc = at instanceof Position ? at : at.loc.start; + const error = toParseError({ + loc, + details + }); + if (!this.options.errorRecovery) throw error; + if (!this.isLookahead) this.state.errors.push(error); + return error; + } + raiseOverwrite(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded2); + const loc = at instanceof Position ? at : at.loc.start; + const pos = loc.index; + const errors = this.state.errors; + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + if (error.loc.index === pos) { + return errors[i] = toParseError({ + loc, + details + }); + } + if (error.loc.index < pos) break; + } + return this.raise(toParseError, raiseProperties); + } + updateContext(prevType) {} + unexpected(loc, type) { + throw this.raise(Errors.UnexpectedToken, { + expected: type ? tokenLabelName(type) : null, + at: loc != null ? loc : this.state.startLoc + }); + } + expectPlugin(pluginName, loc) { + if (this.hasPlugin(pluginName)) { + return true; + } + throw this.raise(Errors.MissingPlugin, { + at: loc != null ? loc : this.state.startLoc, + missingPlugin: [pluginName] + }); + } + expectOnePlugin(pluginNames) { + if (!pluginNames.some(name => this.hasPlugin(name))) { + throw this.raise(Errors.MissingOneOfPlugins, { + at: this.state.startLoc, + missingPlugin: pluginNames + }); + } + } + errorBuilder(error) { + return (pos, lineStart, curLine) => { + this.raise(error, { + at: buildPosition(pos, lineStart, curLine) + }); + }; + } +} +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } +} +class ClassScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.parser = parser; + } + current() { + return this.stack[this.stack.length - 1]; + } + enter() { + this.stack.push(new ClassScope()); + } + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, loc); + } + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } + } + declarePrivateName(name, elementType, loc) { + const { + privateNames, + loneAccessors, + undefinedPrivateNames + } = this.current(); + let redefined = privateNames.has(name); + if (elementType & 3) { + const accessor = redefined && loneAccessors.get(name); + if (accessor) { + const oldStatic = accessor & 4; + const newStatic = elementType & 4; + const oldKind = accessor & 3; + const newKind = elementType & 3; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) loneAccessors.delete(name); + } else if (!redefined) { + loneAccessors.set(name, elementType); + } + } + if (redefined) { + this.parser.raise(Errors.PrivateNameRedeclaration, { + at: loc, + identifierName: name + }); + } + privateNames.add(name); + undefinedPrivateNames.delete(name); + } + usePrivateName(name, loc) { + let classScope; + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + if (classScope) { + classScope.undefinedPrivateNames.set(name, loc); + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } +} +class ExpressionScope { + constructor(type = 0) { + this.type = type; + } + canBeArrowParameterDeclaration() { + return this.type === 2 || this.type === 1; + } + isCertainlyParameterDeclaration() { + return this.type === 3; + } +} +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.declarationErrors = new Map(); + } + recordDeclarationError(ParsingErrorClass, { + at + }) { + const index = at.index; + this.declarationErrors.set(index, [ParsingErrorClass, at]); + } + clearDeclarationError(index) { + this.declarationErrors.delete(index); + } + iterateErrors(iterator) { + this.declarationErrors.forEach(iterator); + } +} +class ExpressionScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = [new ExpressionScope()]; + this.parser = parser; + } + enter(scope) { + this.stack.push(scope); + } + exit() { + this.stack.pop(); + } + recordParameterInitializerError(toParseError, { + at: node + }) { + const origin = { + at: node.loc.start + }; + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(toParseError, origin); + } else { + return; + } + scope = stack[--i]; + } + this.parser.raise(toParseError, origin); + } + recordArrowParameterBindingError(error, { + at: node + }) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + const origin = { + at: node.loc.start + }; + if (scope.isCertainlyParameterDeclaration()) { + this.parser.raise(error, origin); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(error, origin); + } else { + return; + } + } + recordAsyncArrowParametersError({ + at + }) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === 2) { + scope.recordDeclarationError(Errors.AwaitBindingIdentifier, { + at + }); + } + scope = stack[--i]; + } + } + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors(([toParseError, loc]) => { + this.parser.raise(toParseError, { + at: loc + }); + let i = stack.length - 2; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(loc.index); + scope = stack[--i]; + } + }); + } +} +function newParameterDeclarationScope() { + return new ExpressionScope(3); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(1); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(2); +} +function newExpressionScope() { + return new ExpressionScope(); +} +const PARAM = 0b0000, + PARAM_YIELD = 0b0001, + PARAM_AWAIT = 0b0010, + PARAM_RETURN = 0b0100, + PARAM_IN = 0b1000; +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + enter(flags) { + this.stacks.push(flags); + } + exit() { + this.stacks.pop(); + } + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + get hasAwait() { + return (this.currentFlags() & PARAM_AWAIT) > 0; + } + get hasYield() { + return (this.currentFlags() & PARAM_YIELD) > 0; + } + get hasReturn() { + return (this.currentFlags() & PARAM_RETURN) > 0; + } + get hasIn() { + return (this.currentFlags() & PARAM_IN) > 0; + } +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0); +} +class UtilParser extends Tokenizer { + addExtra(node, key, value, enumerable = true) { + if (!node) return; + const extra = node.extra = node.extra || {}; + if (enumerable) { + extra[key] = value; + } else { + Object.defineProperty(extra, key, { + enumerable, + value + }); + } + } + isContextual(token) { + return this.state.type === token && !this.state.containsEsc; + } + isUnparsedContextual(nameStart, name) { + const nameEnd = nameStart + name.length; + if (this.input.slice(nameStart, nameEnd) === name) { + const nextCh = this.input.charCodeAt(nameEnd); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + return false; + } + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + eatContextual(token) { + if (this.isContextual(token)) { + this.next(); + return true; + } + return false; + } + expectContextual(token, toParseError) { + if (!this.eatContextual(token)) { + if (toParseError != null) { + throw this.raise(toParseError, { + at: this.state.startLoc + }); + } + this.unexpected(null, token); + } + } + canInsertSemicolon() { + return this.match(139) || this.match(8) || this.hasPrecedingLineBreak(); + } + hasPrecedingLineBreak() { + return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start)); + } + hasFollowingLineBreak() { + skipWhiteSpaceToLineBreak.lastIndex = this.state.end; + return skipWhiteSpaceToLineBreak.test(this.input); + } + isLineTerminator() { + return this.eat(13) || this.canInsertSemicolon(); + } + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(13)) return; + this.raise(Errors.MissingSemicolon, { + at: this.state.lastTokEndLoc + }); + } + expect(type, loc) { + this.eat(type) || this.unexpected(loc, type); + } + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + return { + node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + throw error; + } + } + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssignLoc, + doubleProtoLoc, + privateKeyLoc, + optionalParametersLoc + } = refExpressionErrors; + const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc; + if (!andThrow) { + return hasErrors; + } + if (shorthandAssignLoc != null) { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + if (doubleProtoLoc != null) { + this.raise(Errors.DuplicateProto, { + at: doubleProtoLoc + }); + } + if (privateKeyLoc != null) { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + if (optionalParametersLoc != null) { + this.unexpected(optionalParametersLoc); + } + } + isLiteralPropertyName() { + return tokenIsLiteralPropertyName(this.state.type); + } + isPrivateName(node) { + return node.type === "PrivateName"; + } + getPrivateNameSV(node) { + return node.id.name; + } + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this, inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + enterInitialScopes() { + let paramFlags = PARAM; + if (this.inModule) { + paramFlags |= PARAM_AWAIT; + } + this.scope.enter(1); + this.prodParam.enter(paramFlags); + } + checkDestructuringPrivate(refExpressionErrors) { + const { + privateKeyLoc + } = refExpressionErrors; + if (privateKeyLoc !== null) { + this.expectPlugin("destructuringPrivate", privateKeyLoc); + } + } +} +class ExpressionErrors { + constructor() { + this.shorthandAssignLoc = null; + this.doubleProtoLoc = null; + this.privateKeyLoc = null; + this.optionalParametersLoc = null; + } +} +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } +} +const NodePrototype = Node.prototype; +{ + NodePrototype.__clone = function () { + const newNode = new Node(undefined, this.start, this.loc.start); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + return newNode; + }; +} +function clonePlaceholder(node) { + return cloneIdentifier(node); +} +function cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + extra, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.name = name; + if (type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + return cloned; +} +function cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + if (type === "Placeholder") { + return clonePlaceholder(node); + } + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + if (node.raw !== undefined) { + cloned.raw = node.raw; + } else { + cloned.extra = extra; + } + cloned.value = node.value; + return cloned; +} +class NodeUtils extends UtilParser { + startNode() { + return new Node(this, this.state.start, this.state.startLoc); + } + startNodeAt(loc) { + return new Node(this, loc.index, loc); + } + startNodeAtNode(type) { + return this.startNodeAt(type.loc.start); + } + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEndLoc); + } + finishNodeAt(node, type, endLoc) { + node.type = type; + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + if (this.options.attachComment) this.processComment(node); + return node; + } + resetStartLocation(node, startLoc) { + node.start = startLoc.index; + node.loc.start = startLoc; + if (this.options.ranges) node.range[0] = startLoc.index; + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + } + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.loc.start); + } +} +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = ParseErrorEnum`flow`({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: ({ + reservedType + }) => `Cannot overwrite reserved type ${reservedType}.`, + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: ({ + memberName, + enumName + }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`, + EnumDuplicateMemberName: ({ + memberName, + enumName + }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`, + EnumInconsistentMemberValues: ({ + enumName + }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`, + EnumInvalidExplicitType: ({ + invalidEnumType, + enumName + }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidExplicitTypeUnknownSupplied: ({ + enumName + }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerPrimaryType: ({ + enumName, + memberName, + explicitType + }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`, + EnumInvalidMemberInitializerSymbolType: ({ + enumName, + memberName + }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerUnknownType: ({ + enumName, + memberName + }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`, + EnumInvalidMemberName: ({ + enumName, + memberName, + suggestion + }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`, + EnumNumberMemberNotInitialized: ({ + enumName, + memberName + }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`, + EnumStringMemberInconsistentlyInitialized: ({ + enumName + }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`, + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: Object.assign({ + message: "A binding pattern parameter cannot be optional in an implementation signature." + }, { + reasonCode: "OptionalBindingPattern" + }), + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: ({ + reservedType + }) => `Unexpected reserved type ${reservedType}.`, + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: ({ + unsupportedExportKind, + suggestion + }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`, + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}); +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; +function partition(list, test) { + const list1 = []; + const list2 = []; + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + return [list1, list2]; +} +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = superClass => class FlowParserMixin extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + getScopeHandler() { + return FlowScopeHandler; + } + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + finishToken(type, val) { + if (type !== 133 && type !== 13 && type !== 28) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + super.finishToken(type, val); + } + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + if (!matches) ;else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + super.addComment(comment); + } + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 14); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + flowParsePredicate() { + const node = this.startNode(); + const moduloLoc = this.state.startLoc; + this.next(); + this.expectContextual(110); + if (this.state.lastTokStart > moduloLoc.index + 1) { + this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, { + at: moduloLoc + }); + } + if (this.eat(10)) { + node.value = super.parseExpression(); + this.expect(11); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(14); + let type = null; + let predicate = null; + if (this.match(54)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + if (this.match(54)) { + predicate = this.flowParsePredicate(); + } + } + return [type, predicate]; + } + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + if (this.match(47)) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + this.expect(10); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(11); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, 2048, node.id.loc.start); + return this.finishNode(node, "DeclareFunction"); + } + flowParseDeclare(node, insideModule) { + if (this.match(80)) { + return this.flowParseDeclareClass(node); + } else if (this.match(68)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(74)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual(127)) { + if (this.match(16)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(FlowErrors.NestedDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual(130)) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual(131)) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual(129)) { + return this.flowParseDeclareInterface(node); + } else if (this.match(82)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + this.unexpected(); + } + } + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, 5, node.id.loc.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + flowParseDeclareModule(node) { + this.scope.enter(0); + if (this.match(133)) { + node.id = super.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(5); + while (!this.match(8)) { + let bodyNode = this.startNode(); + if (this.match(83)) { + this.next(); + if (!this.isContextual(130) && !this.match(87)) { + this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + super.parseImport(bodyNode); + } else { + this.expectContextual(125, FlowErrors.UnsupportedStatementInDeclareModule); + bodyNode = this.flowParseDeclare(bodyNode, true); + } + body.push(bodyNode); + } + this.scope.exit(); + this.expect(8); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(FlowErrors.DuplicateDeclareModuleExports, { + at: bodyElement + }); + } + if (kind === "ES") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(82); + if (this.eat(65)) { + if (this.match(68) || this.match(80)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !insideModule) { + const label = this.state.value; + throw this.raise(FlowErrors.UnsupportedDeclareExportKind, { + at: this.state.startLoc, + unsupportedExportKind: label, + suggestion: exportSuggestions[label] + }); + } + if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131)) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131)) { + node = this.parseExport(node, null); + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + node.type = "Declare" + node.type; + return node; + } + } + this.unexpected(); + } + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual(111); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + flowParseDeclareTypeAlias(node) { + this.next(); + const finished = this.flowParseTypeAlias(node); + finished.type = "DeclareTypeAlias"; + return finished; + } + flowParseDeclareOpaqueType(node) { + this.next(); + const finished = this.flowParseOpaqueType(node, true); + finished.type = "DeclareOpaqueType"; + return finished; + } + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "DeclareInterface"); + } + flowParseInterfaceish(node, isClass) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? 17 : 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(12)); + } + if (isClass) { + node.implements = []; + node.mixins = []; + if (this.eatContextual(117)) { + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + if (this.eatContextual(113)) { + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + } + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + return this.finishNode(node, "InterfaceExtends"); + } + flowParseInterface(node) { + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "InterfaceDeclaration"); + } + checkNotUnderscore(word) { + if (word === "_") { + this.raise(FlowErrors.UnexpectedReservedUnderscore, { + at: this.state.startLoc + }); + } + } + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, { + at: startLoc, + reservedType: word + }); + } + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.startLoc, declaration); + return this.parseIdentifier(liberal); + } + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.right = this.flowParseTypeInitialiser(29); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + flowParseOpaqueType(node, declare) { + this.expectContextual(130); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.supertype = null; + if (this.match(14)) { + node.supertype = this.flowParseTypeInitialiser(14); + } + node.impltype = null; + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(29); + } + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + flowParseTypeParameter(requireDefault = false) { + const nodeStartLoc = this.state.startLoc; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + if (this.match(29)) { + this.eat(29); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(FlowErrors.MissingTypeParamDefault, { + at: nodeStartLoc + }); + } + } + return this.finishNode(node, "TypeParameter"); + } + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + if (this.match(47) || this.match(142)) { + this.next(); + } else { + this.unexpected(); + } + let defaultRequired = false; + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + if (typeParameter.default) { + defaultRequired = true; + } + if (!this.match(48)) { + this.expect(12); + } + } while (!this.match(48)); + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + while (!this.match(48)) { + node.params.push(this.flowParseType()); + if (!this.match(48)) { + this.expect(12); + } + } + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseTypeParameterInstantiationCallOrNew() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + while (!this.match(48)) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + if (!this.match(48)) { + this.expect(12); + } + } + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual(129); + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + flowParseObjectPropertyKey() { + return this.match(134) || this.match(133) ? super.parseExprAtom() : this.parseIdentifier(true); + } + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + if (this.lookahead().type === 14) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + this.expect(3); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(3); + this.expect(3); + if (this.match(47) || this.match(10)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + } else { + node.method = false; + if (this.eat(17)) { + node.optional = true; + } + node.value = this.flowParseTypeInitialiser(); + } + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + this.expect(10); + if (this.match(78)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + this.expect(11); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + if (allowExact && this.match(6)) { + this.expect(6); + endDelim = 9; + exact = true; + } else { + this.expect(5); + endDelim = 8; + exact = false; + } + nodeStart.exact = exact; + while (!this.match(endDelim)) { + let isStatic = false; + let protoStartLoc = null; + let inexactStartLoc = null; + const node = this.startNode(); + if (allowProto && this.isContextual(118)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + protoStartLoc = this.state.startLoc; + allowStatic = false; + } + } + if (allowStatic && this.isContextual(106)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + isStatic = true; + } + } + const variance = this.flowParseVariance(); + if (this.eat(0)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (this.eat(0)) { + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(10) || this.match(47)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + if (this.isContextual(99) || this.isContextual(104)) { + const lookahead = this.lookahead(); + if (tokenIsLiteralPropertyName(lookahead.type)) { + kind = this.state.value; + this.next(); + } + } + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + if (propOrInexact === null) { + inexact = true; + inexactStartLoc = this.state.lastTokStartLoc; + } else { + nodeStart.properties.push(propOrInexact); + } + } + this.flowObjectTypeSemicolon(); + if (inexactStartLoc && !this.match(8) && !this.match(9)) { + this.raise(FlowErrors.UnexpectedExplicitInexactInObject, { + at: inexactStartLoc + }); + } + } + this.expect(endDelim); + if (allowSpread) { + nodeStart.inexact = inexact; + } + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) { + if (this.eat(21)) { + const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9); + if (isInexactToken) { + if (!allowSpread) { + this.raise(FlowErrors.InexactInsideNonObject, { + at: this.state.lastTokStartLoc + }); + } else if (!allowInexact) { + this.raise(FlowErrors.InexactInsideExact, { + at: this.state.lastTokStartLoc + }); + } + if (variance) { + this.raise(FlowErrors.InexactVariance, { + at: variance + }); + } + return null; + } + if (!allowSpread) { + this.raise(FlowErrors.UnexpectedSpreadType, { + at: this.state.lastTokStartLoc + }); + } + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.raise(FlowErrors.SpreadVariance, { + at: variance + }); + } + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStartLoc != null; + node.kind = kind; + let optional = false; + if (this.match(47) || this.match(10)) { + node.method = true; + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: node.value.this + }); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + if (this.eat(17)) { + optional = true; + } + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + if (property.value.this) { + this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, { + at: property.value.this + }); + } + if (length !== paramCount) { + this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: property + }); + } + if (property.kind === "set" && property.value.rest) { + this.raise(Errors.BadSetterRestParameter, { + at: property + }); + } + } + flowObjectTypeSemicolon() { + if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) { + this.unexpected(); + } + } + flowParseQualifiedTypeIdentifier(startLoc, id) { + var _startLoc; + (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + while (this.eat(16)) { + const node2 = this.startNodeAt(startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + return node; + } + flowParseGenericType(startLoc, id) { + const node = this.startNodeAt(startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + return this.finishNode(node, "GenericTypeAnnotation"); + } + flowParseTypeofType() { + const node = this.startNode(); + this.expect(87); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(0); + while (this.state.pos < this.length && !this.match(3)) { + node.types.push(this.flowParseType()); + if (this.match(3)) break; + this.expect(12); + } + this.expect(3); + return this.finishNode(node, "TupleTypeAnnotation"); + } + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 78; + if (lh.type === 14 || lh.type === 17) { + if (isThis && !first) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node + }); + } + name = this.parseIdentifier(isThis); + if (this.eat(17)) { + optional = true; + if (isThis) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: node + }); + } + } + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + if (this.match(78)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + rest = this.flowParseFunctionTypeParam(false); + } + return { + params, + rest, + _this + }; + } + flowIdentToTypeAnnotation(startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startLoc, id); + } + } + flowParsePrimaryType() { + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + switch (this.state.type) { + case 5: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + case 6: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + case 0: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + case 47: + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(10); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + case 10: + this.next(); + if (!this.match(11) && !this.match(21)) { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + const token = this.lookahead().type; + isGroupedType = token !== 17 && token !== 14; + } else { + isGroupedType = true; + } + } + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) { + this.expect(11); + return type; + } else { + this.eat(12); + } + } + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + case 133: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + case 85: + case 86: + node.value = this.match(85); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + case 53: + if (this.state.value === "-") { + this.next(); + if (this.match(134)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + if (this.match(135)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + throw this.raise(FlowErrors.UnexpectedSubtractionOperand, { + at: this.state.startLoc + }); + } + this.unexpected(); + return; + case 134: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + case 135: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + case 88: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + case 84: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + case 78: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + case 55: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + case 87: + return this.flowParseTypeofType(); + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } else if (tokenIsIdentifier(this.state.type)) { + if (this.isContextual(129)) { + return this.flowParseInterfaceType(); + } + return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier()); + } + } + this.unexpected(); + } + flowParsePostfixType() { + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + const optional = this.eat(18); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(0); + if (!optional && this.match(3)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(3); + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + return type; + } + flowParsePrefixType() { + const node = this.startNode(); + if (this.eat(17)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + if (!this.state.noAnonFunctionType && this.eat(19)) { + const node = this.startNodeAt(param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + return param; + } + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(45); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + while (this.eat(45)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + flowParseUnionType() { + const node = this.startNode(); + this.eat(43); + const type = this.flowParseIntersectionType(); + node.types = [type]; + while (this.eat(43)) { + node.types.push(this.flowParseIntersectionType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 132 && this.state.value === "_") { + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startLoc, node); + } else { + return this.flowParseType(); + } + } + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + if (this.match(14)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + return ident; + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + flowParseVariance() { + let variance = null; + if (this.match(53)) { + variance = this.startNode(); + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + this.next(); + return this.finishNode(variance, "Variance"); + } + return variance; + } + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + return; + } + super.parseFunctionBody(node, false, isMethod); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + parseStatementLike(flags) { + if (this.state.strict && this.isContextual(129)) { + const lookahead = this.lookahead(); + if (tokenIsKeywordOrIdentifier(lookahead.type)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.shouldParseEnums() && this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + const stmt = super.parseStatementLike(flags); + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + return stmt; + } + parseExpressionStatement(node, expr, decorators) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) { + return this.flowParseDeclare(node); + } + } else if (tokenIsIdentifier(this.state.type)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + return super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) { + return !this.state.containsEsc; + } + return super.shouldParseExportDeclaration(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 126) { + return this.state.containsEsc; + } + return super.isExportDefaultSpecifier(); + } + parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + return super.parseExportDefaultExpression(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + this.expect(17); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + if (failed && valid.length > 1) { + this.raise(FlowErrors.AmbiguousConditionalArrow, { + at: state.startLoc + }); + } + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(14); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(14); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + while (stack.length !== 0) { + const node = stack.pop(); + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + finishArrowValidation(node) { + var _node$extra; + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false); + this.scope.enter(2 | 4); + super.checkParams(node, false, true); + this.scope.exit(); + } + forwardNoArrowParamsConversionAt(node, parse) { + let result; + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + return result; + } + parseParenItem(node, startLoc) { + node = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + return node; + } + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + super.assertModuleNodeAllowed(node); + } + parseExportDeclaration(node) { + if (this.isContextual(130)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + if (this.match(5)) { + node.specifiers = this.parseExportSpecifiers(true); + super.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual(131)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual(129)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.shouldParseEnums() && this.isContextual(126)) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + eatExportStar(node) { + if (super.eatExportStar(node)) return true; + if (this.isContextual(130) && this.lookahead().type === 55) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + const { + startLoc + } = this.state; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + if (hasNamespace && node.exportKind === "type") { + this.unexpected(startLoc); + } + return hasNamespace; + } + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + parseClassMember(classBody, member, state) { + const { + startLoc + } = this.state; + if (this.isContextual(125)) { + if (super.parseClassMemberFromModifier(classBody, member)) { + return; + } + member.declare = true; + } + super.parseClassMember(classBody, member, state); + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(FlowErrors.DeclareClassElement, { + at: startLoc + }); + } else if (member.value) { + this.raise(FlowErrors.DeclareClassFieldInitializer, { + at: member.value + }); + } + } + } + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + if (!this.isIterator(word) || !this.state.inType) { + this.raise(Errors.InvalidIdentifier, { + at: this.state.curPosition(), + identifierName: fullWord + }); + } + this.finishToken(132, fullWord); + } + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 123 && next === 124) { + this.finishOp(6, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + this.finishOp(code === 62 ? 48 : 47, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + this.finishOp(18, 2); + } else { + this.finishOp(17, 1); + } + } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) { + this.state.pos += 2; + this.readIterator(); + } else { + super.getTokenFromCode(code); + } + } + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + super.toAssignable(node, isLHS); + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + const expr = exprList[i]; + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(FlowErrors.TypeCastInPattern, { + at: expr.typeAnnotation + }); + } + } + return exprList; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + if (canBePattern && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + return node; + } + isValidLVal(type, isParenthesized, binding) { + return type === "TypeCastExpression" || super.isValidLVal(type, isParenthesized, binding); + } + parseClassProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassPrivateProperty(node); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(14) || super.isClassProperty(); + } + isNonstaticConstructor(method) { + return !this.match(14) && super.isNonstaticConstructor(method); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + if (method.params && isConstructor) { + const params = method.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && this.match(47)) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + if (this.isContextual(113)) { + this.next(); + const implemented = node.implements = []; + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(12)); + } + } + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length > 0) { + const param = params[0]; + if (this.isThisParam(param) && method.kind === "get") { + this.raise(FlowErrors.GetterMayNotHaveThisParam, { + at: param + }); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.SetterMayNotHaveThisParam, { + at: param + }); + } + } + } + parsePropertyNamePrefixOperator(node) { + node.variance = this.flowParseVariance(); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.loc.start); + } + delete prop.variance; + let typeParameters; + if (this.match(47) && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(10)) this.unexpected(); + } + const result = super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + if (typeParameters) { + (result.value || result).typeParameters = typeParameters; + } + return result; + } + parseAssignableListItemTypes(param) { + if (this.eat(17)) { + if (param.type !== "Identifier") { + this.raise(FlowErrors.PatternIsOptional, { + at: param + }); + } + if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: param + }); + } + param.optional = true; + } + if (this.match(14)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamAnnotationRequired, { + at: param + }); + } + if (this.match(29) && this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamNoDefault, { + at: param + }); + } + this.resetEndLocation(param); + return param; + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(FlowErrors.TypeBeforeInitializer, { + at: node.typeAnnotation + }); + } + return node; + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(FlowErrors.ImportReflectionHasImportType, { + at: node.specifiers[0].loc.start + }); + } + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + if (!isExport) return true; + const ch = this.lookaheadCharCode(); + return ch === 123 || ch === 42; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + if (!phase && this.match(65)) { + return; + } + node.exportKind = phase === "type" ? phase : "value"; + } else { + if (phase === "type" && this.match(55)) this.unexpected(); + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + const firstIdent = specifier.imported; + let specifierTypeKind = null; + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + let isBinding = false; + if (this.isContextual(93) && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: firstIdent.value + }); + } + specifier.imported = firstIdent; + specifier.importKind = null; + } + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = cloneIdentifier(specifier.imported); + } + } + const specifierIsTypeImport = hasTypeImportKind(specifier); + if (isInTypeOnlyImport && specifierIsTypeImport) { + this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, { + at: specifier + }); + } + if (isInTypeOnlyImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.loc.start, true); + } + if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true); + } + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + default: + return super.parseBindingAtom(); + } + } + parseFunctionParams(node, isConstructor) { + const kind = node.kind; + if (kind !== "get" && kind !== "set" && this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (this.match(14)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + let state = null; + let jsx; + if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if ((_jsx = jsx) != null && _jsx.error || this.match(47)) { + var _jsx2, _jsx3; + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, { + at: typeParameters + }); + } + return arrow.node; + } + arrowExpression = arrow.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, { + at: typeParameters + }); + } + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(19)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + return super.parseArrow(node); + } + shouldParseArrow(params) { + return this.match(14) || super.shouldParseArrow(params); + } + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node.params[i] + }); + } + } + super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); + } + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } + parseSubscripts(base, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startLoc.index) !== -1) { + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = super.parseCallExpressionArguments(11, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + if (result.node) { + this.state = result.failState; + return result.node; + } + throw arrow.error || result.error; + } + return super.parseSubscripts(base, startLoc, noCalls); + } + parseSubscript(base, startLoc, noCalls, subscriptState) { + if (this.match(18) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + if (noCalls) { + subscriptState.stop = true; + return base; + } + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(10); + node.arguments = this.parseCallExpressionArguments(11, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.match(47)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(10); + node.arguments = super.parseCallExpressionArguments(11, false); + if (subscriptState.optionalChainMember) { + node.optional = false; + } + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + return super.parseSubscript(base, startLoc, noCalls, subscriptState); + } + parseNewCallee(node) { + super.parseNewCallee(node); + let targs = null; + if (this.shouldParseTypes() && this.match(47)) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + node.typeArguments = targs; + } + parseAsyncArrowWithTypeParameters(startLoc) { + const node = this.startNodeAt(startLoc); + this.parseFunctionParams(node, false); + if (!this.parseArrow(node)) return; + return super.parseArrowExpression(node, undefined, true); + } + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + super.readToken_mult_modulo(code); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 124 && next === 125) { + this.finishOp(9, 2); + return; + } + super.readToken_pipe_amp(code); + } + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + if (this.state.hasFlowComment) { + this.raise(FlowErrors.UnterminatedFlowComment, { + at: this.state.curPosition() + }); + } + return fileNode; + } + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + throw this.raise(FlowErrors.NestedFlowComment, { + at: this.state.startLoc + }); + } + this.hasFlowCommentCompletion(); + const commentSkip = this.skipFlowComment(); + if (commentSkip) { + this.state.pos += commentSkip; + this.state.hasFlowComment = true; + } + return; + } + return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/"); + } + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + return false; + } + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + } + flowEnumErrorBooleanMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumBooleanMemberNotInitialized, { + at: loc, + memberName, + enumName + }); + } + flowEnumErrorInvalidMemberInitializer(loc, enumContext) { + return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, Object.assign({ + at: loc + }, enumContext)); + } + flowEnumErrorNumberMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumNumberMemberNotInitialized, { + at: loc, + enumName, + memberName + }); + } + flowEnumErrorStringMemberInconsistentlyInitialized(node, { + enumName + }) { + this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized, { + at: node, + enumName + }); + } + flowEnumMemberInit() { + const startLoc = this.state.startLoc; + const endOfInit = () => this.match(12) || this.match(8); + switch (this.state.type) { + case 134: + { + const literal = this.parseNumericLiteral(this.state.value); + if (endOfInit()) { + return { + type: "number", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 133: + { + const literal = this.parseStringLiteral(this.state.value); + if (endOfInit()) { + return { + type: "string", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 85: + case 86: + { + const literal = this.parseBooleanLiteral(this.match(85)); + if (endOfInit()) { + return { + type: "boolean", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + default: + return { + type: "invalid", + loc: startLoc + }; + } + } + flowEnumMemberRaw() { + const loc = this.state.startLoc; + const id = this.parseIdentifier(true); + const init = this.eat(29) ? this.flowEnumMemberInit() : { + type: "none", + loc + }; + return { + id, + init + }; + } + flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) { + const { + explicitType + } = context; + if (explicitType === null) { + return; + } + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(loc, context); + } + } + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + while (!this.match(8)) { + if (this.eat(21)) { + hasUnknownMembers = true; + break; + } + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + if (memberName === "") { + continue; + } + if (/^[a-z]/.test(memberName)) { + this.raise(FlowErrors.EnumInvalidMemberName, { + at: id, + memberName, + suggestion: memberName[0].toUpperCase() + memberName.slice(1), + enumName + }); + } + if (seenNames.has(memberName)) { + this.raise(FlowErrors.EnumDuplicateMemberName, { + at: id, + memberName, + enumName + }); + } + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context); + } + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context); + break; + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.loc, context); + break; + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + if (!this.match(8)) { + this.expect(12); + } + } + return { + members, + hasUnknownMembers + }; + } + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return initializedMembers; + } + } + flowEnumParseExplicitType({ + enumName + }) { + if (!this.eatContextual(102)) return null; + if (!tokenIsIdentifier(this.state.type)) { + throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, { + at: this.state.startLoc, + enumName + }); + } + const { + value + } = this.state; + this.next(); + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.raise(FlowErrors.EnumInvalidExplicitType, { + at: this.state.startLoc, + enumName, + invalidEnumType: value + }); + } + return value; + } + flowEnumBody(node, id) { + const enumName = id.name; + const nameLoc = id.loc.start; + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(5); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + case "symbol": + node.members = members.defaultedMembers; + this.expect(8); + return this.finishNode(node, "EnumSymbolBody"); + default: + { + const empty = () => { + node.members = []; + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + }; + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.raise(FlowErrors.EnumInconsistentMemberValues, { + at: nameLoc, + enumName + }); + return empty(); + } + } + } + } + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), id); + return this.finishNode(node, "EnumDeclaration"); + } + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + return false; + } + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } +}; +const entities = { + __proto__: null, + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; +const JsxErrors = ParseErrorEnum`jsx`({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: ({ + openingTagName + }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`, + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnexpectedToken: ({ + unexpected, + HTMLEntity + }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`, + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" +}); +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + throw new Error("Node had unexpected type: " + object.type); +} +var jsx = superClass => class JSXParserMixin extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(JsxErrors.UnterminatedJsxContent, { + at: this.state.startLoc + }); + } + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.canStartJSXElement) { + ++this.state.pos; + this.finishToken(142); + } else { + super.getTokenFromCode(ch); + } + return; + } + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(141, out); + return; + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + case 62: + case 125: + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + } + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(Errors.UnterminatedString, { + at: this.state.startLoc + }); + } + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(133, out); + } + jsxReadEntity() { + const startPos = ++this.state.pos; + if (this.codePointAtPos(this.state.pos) === 35) { + ++this.state.pos; + let radix = 10; + if (this.codePointAtPos(this.state.pos) === 120) { + radix = 16; + ++this.state.pos; + } + const codePoint = this.readInt(radix, undefined, false, "bail"); + if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) { + ++this.state.pos; + return String.fromCodePoint(codePoint); + } + } else { + let count = 0; + let semi = false; + while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) { + ++this.state.pos; + } + if (semi) { + const desc = this.input.slice(startPos, this.state.pos); + const entity = entities[desc]; + ++this.state.pos; + if (entity) { + return entity; + } + } + } + this.state.pos = startPos; + return "&"; + } + jsxReadWord() { + let ch; + const start = this.state.pos; + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + this.finishToken(140, this.input.slice(start, this.state.pos)); + } + jsxParseIdentifier() { + const node = this.startNode(); + if (this.match(140)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + jsxParseNamespacedName() { + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(14)) return name; + const node = this.startNodeAt(startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + jsxParseElementName() { + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + if (node.type === "JSXNamespacedName") { + return node; + } + while (this.eat(16)) { + const newNode = this.startNodeAt(startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + return node; + } + jsxParseAttributeValue() { + let node; + switch (this.state.type) { + case 5: + node = this.startNode(); + this.setContext(types.brace); + this.next(); + node = this.jsxParseExpressionContainer(node, types.j_oTag); + if (node.expression.type === "JSXEmptyExpression") { + this.raise(JsxErrors.AttributeIsEmpty, { + at: node + }); + } + return node; + case 142: + case 133: + return this.parseExprAtom(); + default: + throw this.raise(JsxErrors.UnsupportedJsxValue, { + at: this.state.startLoc + }); + } + } + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc); + } + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadChild"); + } + jsxParseExpressionContainer(node, previousContext) { + if (this.match(8)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + this.setContext(previousContext); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXExpressionContainer"); + } + jsxParseAttribute() { + const node = this.startNode(); + if (this.match(5)) { + this.setContext(types.brace); + this.next(); + this.expect(21); + node.argument = this.parseMaybeAssignAllowIn(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadAttribute"); + } + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(29) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + jsxParseOpeningElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(143)) { + return this.finishNode(node, "JSXOpeningFragment"); + } + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + jsxParseOpeningElementAfterName(node) { + const attributes = []; + while (!this.match(56) && !this.match(143)) { + attributes.push(this.jsxParseAttribute()); + } + node.attributes = attributes; + node.selfClosing = this.eat(56); + this.expect(143); + return this.finishNode(node, "JSXOpeningElement"); + } + jsxParseClosingElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(143)) { + return this.finishNode(node, "JSXClosingFragment"); + } + node.name = this.jsxParseElementName(); + this.expect(143); + return this.finishNode(node, "JSXClosingElement"); + } + jsxParseElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startLoc); + let closingElement = null; + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 142: + startLoc = this.state.startLoc; + this.next(); + if (this.eat(56)) { + closingElement = this.jsxParseClosingElementAt(startLoc); + break contents; + } + children.push(this.jsxParseElementAt(startLoc)); + break; + case 141: + children.push(this.parseExprAtom()); + break; + case 5: + { + const node = this.startNode(); + this.setContext(types.brace); + this.next(); + if (this.match(21)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node, types.j_expr)); + } + break; + } + default: + this.unexpected(); + } + } + if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) { + this.raise(JsxErrors.MissingClosingTagFragment, { + at: closingElement + }); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } + } + } + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + node.children = children; + if (this.match(47)) { + throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, { + at: this.state.startLoc + }); + } + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + jsxParseElement() { + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startLoc); + } + setContext(newContext) { + const { + context + } = this.state; + context[context.length - 1] = newContext; + } + parseExprAtom(refExpressionErrors) { + if (this.match(141)) { + return this.parseLiteral(this.state.value, "JSXText"); + } else if (this.match(142)) { + return this.jsxParseElement(); + } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { + this.replaceToken(142); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + skipSpace() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) super.skipSpace(); + } + getTokenFromCode(code) { + const context = this.curContext(); + if (context === types.j_expr) { + this.jsxReadToken(); + return; + } + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + this.jsxReadWord(); + return; + } + if (code === 62) { + ++this.state.pos; + this.finishToken(143); + return; + } + if ((code === 34 || code === 39) && context === types.j_oTag) { + this.jsxReadString(code); + return; + } + } + if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + this.finishToken(142); + return; + } + super.getTokenFromCode(code); + } + updateContext(prevType) { + const { + context, + type + } = this.state; + if (type === 56 && prevType === 142) { + context.splice(-2, 2, types.j_cTag); + this.state.canStartJSXElement = false; + } else if (type === 142) { + context.push(types.j_oTag); + } else if (type === 143) { + const out = context[context.length - 1]; + if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { + context.pop(); + this.state.canStartJSXElement = context[context.length - 1] === types.j_expr; + } else { + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + } + } else { + this.state.canStartJSXElement = tokenComesBeforeExpression(type); + } + } +}; +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.types = new Set(); + this.enums = new Set(); + this.constEnums = new Set(); + this.classes = new Set(); + this.exportOnlyBindings = new Set(); + } +} +class TypeScriptScopeHandler extends ScopeHandler { + constructor(...args) { + super(...args); + this.importsStack = []; + } + createScope(flags) { + this.importsStack.push(new Set()); + return new TypeScriptScope(flags); + } + enter(flags) { + if (flags == 256) { + this.importsStack.push(new Set()); + } + super.enter(flags); + } + exit() { + const flags = super.exit(); + if (flags == 256) { + this.importsStack.pop(); + } + return flags; + } + hasImport(name, allowShadow) { + const len = this.importsStack.length; + if (this.importsStack[len - 1].has(name)) { + return true; + } + if (!allowShadow && len > 1) { + for (let i = 0; i < len - 1; i++) { + if (this.importsStack[i].has(name)) return true; + } + } + return false; + } + declareName(name, bindingType, loc) { + if (bindingType & 4096) { + if (this.hasImport(name, true)) { + this.parser.raise(Errors.VarRedeclaration, { + at: loc, + identifierName: name + }); + } + this.importsStack[this.importsStack.length - 1].add(name); + return; + } + const scope = this.currentScope(); + if (bindingType & 1024) { + this.maybeExportDefined(scope, name); + scope.exportOnlyBindings.add(name); + return; + } + super.declareName(name, bindingType, loc); + if (bindingType & 2) { + if (!(bindingType & 1)) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + } + scope.types.add(name); + } + if (bindingType & 256) scope.enums.add(name); + if (bindingType & 512) { + scope.constEnums.add(name); + } + if (bindingType & 128) scope.classes.add(name); + } + isRedeclaredInScope(scope, name, bindingType) { + if (scope.enums.has(name)) { + if (bindingType & 256) { + const isConst = !!(bindingType & 512); + const wasConst = scope.constEnums.has(name); + return isConst !== wasConst; + } + return true; + } + if (bindingType & 128 && scope.classes.has(name)) { + if (scope.lexical.has(name)) { + return !!(bindingType & 1); + } else { + return false; + } + } + if (bindingType & 2 && scope.types.has(name)) { + return true; + } + return super.isRedeclaredInScope(scope, name, bindingType); + } + checkLocalExport(id) { + const { + name + } = id; + if (this.hasImport(name)) return; + const len = this.scopeStack.length; + for (let i = len - 1; i >= 0; i--) { + const scope = this.scopeStack[i]; + if (scope.types.has(name) || scope.exportOnlyBindings.has(name)) return; + } + super.checkLocalExport(id); + } +} +const getOwn$1 = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + let parenthesized = undefined; + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } else if (parenthesized.type !== "MemberExpression" && !this.isOptionalMemberExpression(parenthesized)) { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } else { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + break; + case "ObjectExpression": + node.type = "ObjectPattern"; + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: node.extra.trailingCommaLoc + }); + } + } + break; + case "ObjectProperty": + { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + break; + } + case "SpreadElement": + { + throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller."); + } + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS); + break; + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(Errors.MissingEqInAssignment, { + at: node.left.loc.end + }); + } + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isLHS); + break; + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, { + at: prop.key + }); + } else if (prop.type === "SpreadElement") { + prop.type = "RestElement"; + const arg = prop.argument; + this.checkToRestConversion(arg, false); + this.toAssignable(arg, isLHS); + if (!isLast) { + this.raise(Errors.RestTrailingComma, { + at: prop + }); + } + } else { + this.toAssignable(prop, isLHS); + } + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + const end = exprList.length - 1; + for (let i = 0; i <= end; i++) { + const elt = exprList[i]; + if (!elt) continue; + if (elt.type === "SpreadElement") { + elt.type = "RestElement"; + const arg = elt.argument; + this.checkToRestConversion(arg, true); + this.toAssignable(arg, isLHS); + } else { + this.toAssignable(elt, isLHS); + } + if (elt.type === "RestElement") { + if (i < end) { + this.raise(Errors.RestTrailingComma, { + at: elt + }); + } else if (trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: trailingCommaLoc + }); + } + } + } + } + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + return true; + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + case "ObjectProperty": + return this.isAssignable(node.value); + case "SpreadElement": + return this.isAssignable(node.argument); + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + case "AssignmentExpression": + return node.operator === "="; + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + default: + return false; + } + } + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + parseSpread(refExpressionErrors) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined); + return this.finishNode(node, "SpreadElement"); + } + parseRestBinding() { + const node = this.startNode(); + this.next(); + node.argument = this.parseBindingAtom(); + return this.finishNode(node, "RestElement"); + } + parseBindingAtom() { + switch (this.state.type) { + case 0: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(3, 93, 1); + return this.finishNode(node, "ArrayPattern"); + } + case 5: + return this.parseObjectLike(8, true); + } + return this.parseIdentifier(); + } + parseBindingList(close, closeCharCode, flags) { + const allowEmpty = flags & 1; + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + } + if (allowEmpty && this.match(12)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(21)) { + elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(), flags)); + if (!this.checkCommaAfterRest(closeCharCode)) { + this.expect(close); + break; + } + } else { + const decorators = []; + if (this.match(26) && this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedParameterDecorator, { + at: this.state.startLoc + }); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + elts.push(this.parseAssignableListItem(flags, decorators)); + } + } + return elts; + } + parseBindingRestProperty(prop) { + this.next(); + prop.argument = this.parseIdentifier(); + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + parseBindingProperty() { + const prop = this.startNode(); + const { + type, + startLoc + } = this.state; + if (type === 21) { + return this.parseBindingRestProperty(prop); + } else if (type === 138) { + this.expectPlugin("destructuringPrivate", startLoc); + this.classScope.usePrivateName(this.state.value, startLoc); + prop.key = this.parsePrivateName(); + } else { + this.parsePropertyName(prop); + } + prop.method = false; + return this.parseObjPropValue(prop, startLoc, false, false, true, false); + } + parseAssignableListItem(flags, decorators) { + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left, flags); + const elt = this.parseMaybeDefault(left.loc.start, left); + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + parseAssignableListItemTypes(param, flags) { + return param; + } + parseMaybeDefault(startLoc, left) { + var _startLoc, _left; + (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc; + left = (_left = left) != null ? _left : this.parseBindingAtom(); + if (!this.eat(29)) return left; + const node = this.startNodeAt(startLoc); + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn$1({ + AssignmentPattern: "left", + RestElement: "argument", + ObjectProperty: "value", + ParenthesizedExpression: "expression", + ArrayPattern: "elements", + ObjectPattern: "properties" + }, type); + } + isOptionalMemberExpression(expression) { + return expression.type === "OptionalMemberExpression"; + } + checkLVal(expression, { + in: ancestor, + binding = 64, + checkClashes = false, + strictModeChanged = false, + hasParenthesizedAncestor = false + }) { + var _expression$extra; + const type = expression.type; + if (this.isObjectMethod(expression)) return; + const isOptionalMemberExpression = this.isOptionalMemberExpression(expression); + if (isOptionalMemberExpression || type === "MemberExpression") { + if (isOptionalMemberExpression) { + this.expectPlugin("optionalChainingAssign", expression.loc.start); + if (ancestor.type !== "AssignmentExpression") { + this.raise(Errors.InvalidLhsOptionalChaining, { + at: expression, + ancestor + }); + } + } + if (binding !== 64) { + this.raise(Errors.InvalidPropertyBindingPattern, { + at: expression + }); + } + return; + } + if (type === "Identifier") { + this.checkIdentifier(expression, binding, strictModeChanged); + const { + name + } = expression; + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(Errors.ParamDupe, { + at: expression + }); + } else { + checkClashes.add(name); + } + } + return; + } + const validity = this.isValidLVal(type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding); + if (validity === true) return; + if (validity === false) { + const ParseErrorClass = binding === 64 ? Errors.InvalidLhs : Errors.InvalidLhsBinding; + this.raise(ParseErrorClass, { + at: expression, + ancestor + }); + return; + } + const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"]; + const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" ? { + type + } : ancestor; + for (const child of [].concat(expression[key])) { + if (child) { + this.checkLVal(child, { + in: nextAncestor, + binding, + checkClashes, + strictModeChanged, + hasParenthesizedAncestor: isParenthesizedExpression + }); + } + } + } + checkIdentifier(at, bindingType, strictModeChanged = false) { + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) { + if (bindingType === 64) { + this.raise(Errors.StrictEvalArguments, { + at, + referenceName: at.name + }); + } else { + this.raise(Errors.StrictEvalArgumentsBinding, { + at, + bindingName: at.name + }); + } + } + if (bindingType & 8192 && at.name === "let") { + this.raise(Errors.LetInLexicalBinding, { + at + }); + } + if (!(bindingType & 64)) { + this.declareNameFromIdentifier(at, bindingType); + } + } + declareNameFromIdentifier(identifier, binding) { + this.scope.declareName(identifier.name, binding, identifier.loc.start); + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "ParenthesizedExpression": + this.checkToRestConversion(node.expression, allowPattern); + break; + case "Identifier": + case "MemberExpression": + break; + case "ArrayExpression": + case "ObjectExpression": + if (allowPattern) break; + default: + this.raise(Errors.InvalidRestAssignmentPattern, { + at: node + }); + } + } + checkCommaAfterRest(close) { + if (!this.match(12)) { + return false; + } + this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, { + at: this.state.startLoc + }); + return true; + } +} +const getOwn = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + return x; +} +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} +const TSErrors = ParseErrorEnum`typescript`({ + AbstractMethodHasImplementation: ({ + methodName + }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`, + AbstractPropertyHasInitializer: ({ + propertyName + }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`, + AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: ({ + kind + }) => `'declare' is not allowed in ${kind}ters.`, + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: ({ + modifier + }) => `Accessibility modifier already seen.`, + DuplicateModifier: ({ + modifier + }) => `Duplicate modifier: '${modifier}'.`, + EmptyHeritageClauseType: ({ + token + }) => `'${token}' list cannot be empty.`, + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier", + IncompatibleModifiers: ({ + modifiers + }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`, + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: ({ + modifier + }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`, + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.", + InvalidModifierOnTypeMember: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type member.`, + InvalidModifierOnTypeParameter: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type parameter.`, + InvalidModifierOnTypeParameterPositions: ({ + modifier + }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`, + InvalidModifiersOrder: ({ + orderedModifiers + }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`, + InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: ({ + modifier + }) => `Private elements cannot have an accessibility modifier ('${modifier}').`, + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.", + ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.", + SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + SingleTypeParameterWithoutTrailingComma: ({ + typeParameterName + }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`, + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.", + TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: ({ + type + }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.` +}); +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + case "boolean": + return "TSBooleanKeyword"; + case "bigint": + return "TSBigIntKeyword"; + case "never": + return "TSNeverKeyword"; + case "number": + return "TSNumberKeyword"; + case "object": + return "TSObjectKeyword"; + case "string": + return "TSStringKeyword"; + case "symbol": + return "TSSymbolKeyword"; + case "undefined": + return "TSUndefinedKeyword"; + case "unknown": + return "TSUnknownKeyword"; + default: + return undefined; + } +} +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} +function tsIsVarianceAnnotations(modifier) { + return modifier === "in" || modifier === "out"; +} +var typescript = superClass => class TypeScriptParserMixin extends superClass { + constructor(...args) { + super(...args); + this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out"], + disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + this.tsParseConstModifier = this.tsParseModifiers.bind(this, { + allowedModifiers: ["const"], + disallowedModifiers: ["in", "out"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out", "const"], + disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + } + getScopeHandler() { + return TypeScriptScopeHandler; + } + tsIsIdentifier() { + return tokenIsIdentifier(this.state.type); + } + tsTokenCanFollowModifier() { + return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(138) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); + } + tsNextTokenCanFollowModifier() { + this.next(); + return this.tsTokenCanFollowModifier(); + } + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) { + if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) { + return undefined; + } + const modifier = this.state.value; + if (allowedModifiers.indexOf(modifier) !== -1) { + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + return undefined; + } + tsParseModifiers({ + allowedModifiers, + disallowedModifiers, + stopOnStartOfClassStaticBlock, + errorTemplate = TSErrors.InvalidModifierOnTypeMember + }, modified) { + const enforceOrder = (loc, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(TSErrors.InvalidModifiersOrder, { + at: loc, + orderedModifiers: [before, after] + }); + } + }; + const incompatible = (loc, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(TSErrors.IncompatibleModifiers, { + at: loc, + modifiers: [mod1, mod2] + }); + } + }; + for (;;) { + const { + startLoc + } = this.state; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock); + if (!modifier) break; + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(TSErrors.DuplicateAccessibilityModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, modifier, "override"); + enforceOrder(startLoc, modifier, modifier, "static"); + enforceOrder(startLoc, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else if (tsIsVarianceAnnotations(modifier)) { + if (modified[modifier]) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } + modified[modifier] = true; + enforceOrder(startLoc, modifier, "in", "out"); + } else { + if (Object.hasOwnProperty.call(modified, modifier)) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, "static", "readonly"); + enforceOrder(startLoc, modifier, "static", "override"); + enforceOrder(startLoc, modifier, "override", "readonly"); + enforceOrder(startLoc, modifier, "abstract", "override"); + incompatible(startLoc, modifier, "declare", "override"); + incompatible(startLoc, modifier, "static", "abstract"); + } + modified[modifier] = true; + } + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(errorTemplate, { + at: startLoc, + modifier + }); + } + } + } + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(8); + case "HeritageClauseElement": + return this.match(5); + case "TupleElementTypes": + return this.match(3); + case "TypeParametersOrArguments": + return this.match(48); + } + } + tsParseList(kind, parseElement) { + const result = []; + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + return result; + } + tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos)); + } + tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) { + const result = []; + let trailingCommaPos = -1; + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + trailingCommaPos = -1; + const element = parseElement(); + if (element == null) { + return undefined; + } + result.push(element); + if (this.eat(12)) { + trailingCommaPos = this.state.lastTokStart; + continue; + } + if (this.tsIsListTerminator(kind)) { + break; + } + if (expectSuccess) { + this.expect(12); + } + return undefined; + } + if (refTrailingCommaPos) { + refTrailingCommaPos.value = trailingCommaPos; + } + return result; + } + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) { + if (!skipFirstToken) { + if (bracket) { + this.expect(0); + } else { + this.expect(47); + } + } + const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos); + if (bracket) { + this.expect(3); + } else { + this.expect(48); + } + return result; + } + tsParseImportType() { + const node = this.startNode(); + this.expect(83); + this.expect(10); + if (!this.match(133)) { + this.raise(TSErrors.UnsupportedImportTypeArgument, { + at: this.state.startLoc + }); + } + node.argument = super.parseExprAtom(); + this.expect(11); + if (this.eat(16)) { + node.qualifier = this.tsParseEntityName(); + } + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSImportType"); + } + tsParseEntityName(allowReservedWords = true) { + let entity = this.parseIdentifier(allowReservedWords); + while (this.eat(16)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(allowReservedWords); + entity = this.finishNode(node, "TSQualifiedName"); + } + return entity; + } + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(); + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeReference"); + } + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(87); + if (this.match(83)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(); + } + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeQuery"); + } + tsParseTypeParameter(parseModifiers) { + const node = this.startNode(); + parseModifiers(node); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(81); + node.default = this.tsEatThenParseType(29); + return this.finishNode(node, "TSTypeParameter"); + } + tsTryParseTypeParameters(parseModifiers) { + if (this.match(47)) { + return this.tsParseTypeParameters(parseModifiers); + } + } + tsParseTypeParameters(parseModifiers) { + const node = this.startNode(); + if (this.match(47) || this.match(142)) { + this.next(); + } else { + this.unexpected(); + } + const refTrailingCommaPos = { + value: -1 + }; + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeParameters, { + at: node + }); + } + if (refTrailingCommaPos.value !== -1) { + this.addExtra(node, "trailingComma", refTrailingCommaPos.value); + } + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 19; + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + this.expect(10); + signature[paramsKey] = this.tsParseBindingListForSignature(); + if (returnTokenRequired) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + tsParseBindingListForSignature() { + const list = super.parseBindingList(11, 41, 2); + for (const pattern of list) { + const { + type + } = pattern; + if (type === "AssignmentPattern" || type === "TSParameterProperty") { + this.raise(TSErrors.UnsupportedSignatureParameterKind, { + at: pattern, + type + }); + } + } + return list; + } + tsParseTypeMemberSemicolon() { + if (!this.eat(12) && !this.isLineTerminator()) { + this.expect(13); + } + } + tsParseSignatureMember(kind, node) { + this.tsFillSignature(14, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + tsIsUnambiguouslyIndexSignature() { + this.next(); + if (tokenIsIdentifier(this.state.type)) { + this.next(); + return this.match(14); + } + return false; + } + tsTryParseIndexSignature(node) { + if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return; + } + this.expect(0); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(3); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(17)) node.optional = true; + const nodeAny = node; + if (this.match(10) || this.match(47)) { + if (readonly) { + this.raise(TSErrors.ReadonlyForMethodSignature, { + at: node + }); + } + const method = nodeAny; + if (method.kind && this.match(47)) { + this.raise(TSErrors.AccesorCannotHaveTypeParameters, { + at: this.state.curPosition() + }); + } + this.tsFillSignature(14, method); + this.tsParseTypeMemberSemicolon(); + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + if (method.kind === "get") { + if (method[paramsKey].length > 0) { + this.raise(Errors.BadGetterArity, { + at: this.state.curPosition() + }); + if (this.isThisParam(method[paramsKey][0])) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + } + } else if (method.kind === "set") { + if (method[paramsKey].length !== 1) { + this.raise(Errors.BadSetterArity, { + at: this.state.curPosition() + }); + } else { + const firstParameter = method[paramsKey][0]; + if (this.isThisParam(firstParameter)) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, { + at: this.state.curPosition() + }); + } + if (firstParameter.type === "RestElement") { + this.raise(TSErrors.SetAccesorCannotHaveRestParameter, { + at: this.state.curPosition() + }); + } + } + if (method[returnTypeKey]) { + this.raise(TSErrors.SetAccesorCannotHaveReturnType, { + at: method[returnTypeKey] + }); + } + } else { + method.kind = "method"; + } + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = nodeAny; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + tsParseTypeMember() { + const node = this.startNode(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + if (this.match(77)) { + const id = this.startNode(); + this.next(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + this.tsParseModifiers({ + allowedModifiers: ["readonly"], + disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"] + }, node); + const idx = this.tsTryParseIndexSignature(node); + if (idx) { + return idx; + } + super.parsePropertyName(node); + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + super.parsePropertyName(node); + } + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + tsParseObjectTypeMembers() { + this.expect(5); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(8); + return members; + } + tsIsStartOfMappedType() { + this.next(); + if (this.eat(53)) { + return this.isContextual(122); + } + if (this.isContextual(122)) { + this.next(); + } + if (!this.match(0)) { + return false; + } + this.next(); + if (!this.tsIsIdentifier()) { + return false; + } + this.next(); + return this.match(58); + } + tsParseMappedTypeParameter() { + const node = this.startNode(); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsExpectThenParseType(58); + return this.finishNode(node, "TSTypeParameter"); + } + tsParseMappedType() { + const node = this.startNode(); + this.expect(5); + if (this.match(53)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual(122); + } else if (this.eatContextual(122)) { + node.readonly = true; + } + this.expect(0); + node.typeParameter = this.tsParseMappedTypeParameter(); + node.nameType = this.eatContextual(93) ? this.tsParseType() : null; + this.expect(3); + if (this.match(53)) { + node.optional = this.state.value; + this.next(); + this.expect(17); + } else if (this.eat(17)) { + node.optional = true; + } + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(8); + return this.finishNode(node, "TSMappedType"); + } + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + node.elementTypes.forEach(elementNode => { + const { + type + } = elementNode; + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(TSErrors.OptionalTypeBeforeRequired, { + at: elementNode + }); + } + seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"); + }); + return this.finishNode(node, "TSTupleType"); + } + tsParseTupleElementType() { + const { + startLoc + } = this.state; + const rest = this.eat(21); + let labeled; + let label; + let optional; + let type; + const isWord = tokenIsKeywordOrIdentifier(this.state.type); + const chAfterWord = isWord ? this.lookaheadCharCode() : null; + if (chAfterWord === 58) { + labeled = true; + optional = false; + label = this.parseIdentifier(true); + this.expect(14); + type = this.tsParseType(); + } else if (chAfterWord === 63) { + optional = true; + const startLoc = this.state.startLoc; + const wordName = this.state.value; + const typeOrLabel = this.tsParseNonArrayType(); + if (this.lookaheadCharCode() === 58) { + labeled = true; + label = this.createIdentifier(this.startNodeAt(startLoc), wordName); + this.expect(17); + this.expect(14); + type = this.tsParseType(); + } else { + labeled = false; + type = typeOrLabel; + this.expect(17); + } + } else { + type = this.tsParseType(); + optional = this.eat(17); + labeled = this.eat(14); + } + if (labeled) { + let labeledNode; + if (label) { + labeledNode = this.startNodeAtNode(label); + labeledNode.optional = optional; + labeledNode.label = label; + labeledNode.elementType = type; + if (this.eat(17)) { + labeledNode.optional = true; + this.raise(TSErrors.TupleOptionalAfterType, { + at: this.state.lastTokStartLoc + }); + } + } else { + labeledNode = this.startNodeAtNode(type); + labeledNode.optional = optional; + this.raise(TSErrors.InvalidTupleMemberLabel, { + at: type + }); + labeledNode.label = type; + labeledNode.elementType = this.tsParseType(); + } + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAtNode(type); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + if (rest) { + const restNode = this.startNodeAt(startLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + return type; + } + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(10); + node.typeAnnotation = this.tsParseType(); + this.expect(11); + return this.finishNode(node, "TSParenthesizedType"); + } + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node)); + return this.finishNode(node, type); + } + tsParseLiteralTypeNode() { + const node = this.startNode(); + switch (this.state.type) { + case 134: + case 135: + case 133: + case 85: + case 86: + node.literal = super.parseExprAtom(); + break; + default: + this.unexpected(); + } + return this.finishNode(node, "TSLiteralType"); + } + tsParseTemplateLiteralType() { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + tsParseNonArrayType() { + switch (this.state.type) { + case 133: + case 134: + case 135: + case 85: + case 86: + return this.tsParseLiteralTypeNode(); + case 53: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + if (nextToken.type !== 134 && nextToken.type !== 135) { + this.unexpected(); + } + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + break; + case 78: + return this.tsParseThisTypeOrThisTypePredicate(); + case 87: + return this.tsParseTypeQuery(); + case 83: + return this.tsParseImportType(); + case 5: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + case 0: + return this.tsParseTupleType(); + case 10: + return this.tsParseParenthesizedType(); + case 25: + case 24: + return this.tsParseTemplateLiteralType(); + default: + { + const { + type + } = this.state; + if (tokenIsIdentifier(type) || type === 88 || type === 84) { + const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + if (nodeType !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, nodeType); + } + return this.tsParseTypeReference(); + } + } + } + this.unexpected(); + } + tsParseArrayTypeOrHigher() { + let type = this.tsParseNonArrayType(); + while (!this.hasPrecedingLineBreak() && this.eat(0)) { + if (this.match(3)) { + const node = this.startNodeAtNode(type); + node.elementType = type; + this.expect(3); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAtNode(type); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(3); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + return type; + } + tsParseTypeOperator() { + const node = this.startNode(); + const operator = this.state.value; + this.next(); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + return this.finishNode(node, "TSTypeOperator"); + } + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + default: + this.raise(TSErrors.UnexpectedReadonly, { + at: node + }); + } + } + tsParseInferType() { + const node = this.startNode(); + this.expectContextual(115); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + tsParseConstraintForInferType() { + if (this.eat(81)) { + const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType()); + if (this.state.inDisallowConditionalTypesContext || !this.match(17)) { + return constraint; + } + } + } + tsParseTypeOperatorOrHigher() { + const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc; + return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher()); + } + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + node.types = types; + return this.finishNode(node, kind); + } + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45); + } + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43); + } + tsIsStartOfFunctionType() { + if (this.match(47)) { + return true; + } + return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + tsSkipParameterStart() { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + this.next(); + return true; + } + if (this.match(5)) { + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + this.parseObjectLike(8, true); + return errors.length === previousErrorCount; + } catch (_unused) { + return false; + } + } + if (this.match(0)) { + this.next(); + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + super.parseBindingList(3, 93, 1); + return errors.length === previousErrorCount; + } catch (_unused2) { + return false; + } + } + return false; + } + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + if (this.match(11) || this.match(21)) { + return true; + } + if (this.tsSkipParameterStart()) { + if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) { + return true; + } + if (this.match(11)) { + this.next(); + if (this.match(19)) { + return true; + } + } + } + return false; + } + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + if (asserts && this.match(78)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + tsTryParseTypeOrTypePredicateAnnotation() { + if (this.match(14)) { + return this.tsParseTypeOrTypePredicateAnnotation(14); + } + } + tsTryParseTypeAnnotation() { + if (this.match(14)) { + return this.tsParseTypeAnnotation(); + } + } + tsTryParseType() { + return this.tsEatThenParseType(14); + } + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + tsParseTypePredicateAsserts() { + if (this.state.type !== 109) { + return false; + } + const containsEsc = this.state.containsEsc; + this.next(); + if (!tokenIsIdentifier(this.state.type) && !this.match(78)) { + return false; + } + if (containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.lastTokStartLoc, + reservedWord: "asserts" + }); + } + return true; + } + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(14); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) { + return type; + } + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()); + this.expect(17); + node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + this.expect(14); + node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + return this.finishNode(node, "TSConditionalType"); + } + isAbstractConstructorSignature() { + return this.isContextual(124) && this.lookahead().type === 77; + } + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + if (this.match(77)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + return this.tsParseUnionTypeOrHigher(); + } + tsParseTypeAssertion() { + if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedTypeAssertion, { + at: this.state.startLoc + }); + } + const node = this.startNode(); + node.typeAnnotation = this.tsInType(() => { + this.next(); + return this.match(75) ? this.tsParseTypeReference() : this.tsParseType(); + }); + this.expect(48); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + tsParseHeritageClause(token) { + const originalStartLoc = this.state.startLoc; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { + const node = this.startNode(); + node.expression = this.tsParseEntityName(); + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSExpressionWithTypeArguments"); + }); + if (!delimitedList.length) { + this.raise(TSErrors.EmptyHeritageClauseType, { + at: originalStartLoc, + token + }); + } + return delimitedList; + } + tsParseInterfaceDeclaration(node, properties = {}) { + if (this.hasFollowingLineBreak()) return null; + this.expectContextual(129); + if (properties.declare) node.declare = true; + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 130); + } else { + node.id = null; + this.raise(TSErrors.MissingInterfaceName, { + at: this.state.startLoc + }); + } + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (this.eat(81)) { + node.extends = this.tsParseHeritageClause("extends"); + } + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 2); + node.typeAnnotation = this.tsInType(() => { + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers); + this.expect(29); + if (this.isContextual(114) && this.lookahead().type !== 16) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + tsInNoContext(cb) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + tsInDisallowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = true; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsInAllowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = false; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsEatThenParseType(token) { + if (this.match(token)) { + return this.tsNextThenParseType(); + } + } + tsExpectThenParseType(token) { + return this.tsInType(() => { + this.expect(token); + return this.tsParseType(); + }); + } + tsNextThenParseType() { + return this.tsInType(() => { + this.next(); + return this.tsParseType(); + }); + } + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(133) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + if (this.eat(29)) { + node.initializer = super.parseMaybeAssignAllowIn(); + } + return this.finishNode(node, "TSEnumMember"); + } + tsParseEnumDeclaration(node, properties = {}) { + if (properties.const) node.const = true; + if (properties.declare) node.declare = true; + this.expectContextual(126); + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, node.const ? 8971 : 8459); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumDeclaration"); + } + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(0); + this.expect(5); + super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + if (!nested) { + this.checkIdentifier(node.id, 1024); + } + if (this.eat(16)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(256); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual(112)) { + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(133)) { + node.id = super.parseStringLiteral(this.state.value); + } else { + this.unexpected(); + } + if (this.match(5)) { + this.scope.enter(256); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) { + node.isExport = isExport || false; + node.id = maybeDefaultIdentifier || this.parseIdentifier(); + this.checkIdentifier(node.id, 4096); + this.expect(29); + const moduleReference = this.tsParseModuleReference(); + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(TSErrors.ImportAliasHasImportType, { + at: moduleReference + }); + } + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + tsIsExternalModuleReference() { + return this.isContextual(119) && this.lookaheadCharCode() === 40; + } + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + } + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual(119); + this.expect(10); + if (!this.match(133)) { + this.unexpected(); + } + node.expression = super.parseExprAtom(); + this.expect(11); + this.sawUnambiguousESM = true; + return this.finishNode(node, "TSExternalModuleReference"); + } + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return; + if (result.error) this.state = result.failState; + return result.node; + } + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + if (result !== undefined && result !== false) { + return result; + } + this.state = state; + } + tsTryParseDeclare(nany) { + if (this.isLineTerminator()) { + return; + } + let startType = this.state.type; + let kind; + if (this.isContextual(100)) { + startType = 74; + kind = "let"; + } + return this.tsInAmbientContext(() => { + switch (startType) { + case 68: + nany.declare = true; + return super.parseFunctionStatement(nany, false, false); + case 80: + nany.declare = true; + return this.parseClass(nany, true, false); + case 126: + return this.tsParseEnumDeclaration(nany, { + declare: true + }); + case 112: + return this.tsParseAmbientExternalModuleDeclaration(nany); + case 75: + case 74: + if (!this.match(75) || !this.isLookaheadContextual("enum")) { + nany.declare = true; + return this.parseVarStatement(nany, kind || this.state.value, true); + } + this.expect(75); + return this.tsParseEnumDeclaration(nany, { + const: true, + declare: true + }); + case 129: + { + const result = this.tsParseInterfaceDeclaration(nany, { + declare: true + }); + if (result) return result; + } + default: + if (tokenIsIdentifier(startType)) { + return this.tsParseDeclaration(nany, this.state.value, true, null); + } + } + }); + } + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.value, true, null); + } + tsParseExpressionStatement(node, expr, decorators) { + switch (expr.name) { + case "declare": + { + const declaration = this.tsTryParseDeclare(node); + if (declaration) { + declaration.declare = true; + } + return declaration; + } + case "global": + if (this.match(5)) { + this.scope.enter(256); + this.prodParam.enter(PARAM); + const mod = node; + mod.global = true; + mod.id = expr; + mod.body = this.tsParseModuleBlock(); + this.scope.exit(); + this.prodParam.exit(); + return this.finishNode(mod, "TSModuleDeclaration"); + } + break; + default: + return this.tsParseDeclaration(node, expr.name, false, decorators); + } + } + tsParseDeclaration(node, value, next, decorators) { + switch (value) { + case "abstract": + if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) { + return this.tsParseAbstractDeclaration(node, decorators); + } + break; + case "module": + if (this.tsCheckLineTerminator(next)) { + if (this.match(133)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + break; + case "namespace": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + break; + case "type": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + return !this.isLineTerminator(); + } + tsTryParseGenericAsyncArrowFunction(startLoc) { + if (!this.match(47)) return; + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startLoc); + node.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(19); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + if (!res) return; + return super.parseArrowExpression(res, null, true); + } + tsParseTypeArgumentsInExpression() { + if (this.reScan_lt() !== 47) return; + return this.tsParseTypeArguments(); + } + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInNoContext(() => { + this.expect(47); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeArguments, { + at: node + }); + } else if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + tsIsDeclarationStart() { + return tokenIsTSDeclarationStart(this.state.type); + } + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + parseAssignableListItem(flags, decorators) { + const startLoc = this.state.startLoc; + const modified = {}; + this.tsParseModifiers({ + allowedModifiers: ["public", "private", "protected", "override", "readonly"] + }, modified); + const accessibility = modified.accessibility; + const override = modified.override; + const readonly = modified.readonly; + if (!(flags & 4) && (accessibility || readonly || override)) { + this.raise(TSErrors.UnexpectedParameterModifier, { + at: startLoc + }); + } + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left, flags); + const elt = this.parseMaybeDefault(left.loc.start, left); + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startLoc); + if (decorators.length) { + pp.decorators = decorators; + } + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(TSErrors.UnsupportedParameterPropertyKind, { + at: pp + }); + } + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + isSimpleParameter(node) { + return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node); + } + tsDisallowOptionalPattern(node) { + for (const param of node.params) { + if (param.type !== "Identifier" && param.optional && !this.state.isAmbientContext) { + this.raise(TSErrors.PatternIsOptional, { + at: param + }); + } + } + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + super.setArrowFunctionParameters(node, params, trailingCommaLoc); + this.tsDisallowOptionalPattern(node); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + } + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined; + if (bodilessType && !this.match(5) && this.isLineTerminator()) { + return this.finishNode(node, bodilessType); + } + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(TSErrors.DeclareFunctionHasImplementation, { + at: node + }); + if (node.declare) { + return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + } + } + this.tsDisallowOptionalPattern(node); + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkIdentifier(node.id, 1024); + } else { + super.registerFunctionStatementId(node); + } + } + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(TSErrors.UnexpectedTypeAnnotation, { + at: node.typeAnnotation + }); + } + }); + } + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(35)) { + this.state.canStartJSXElement = false; + this.next(); + const nonNullExpression = this.startNodeAt(startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + let isOptionalCall = false; + if (this.match(18) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + if (this.match(47) || this.match(51)) { + let missingParenErrorLoc; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startLoc); + if (asyncArrowFn) { + return asyncArrowFn; + } + } + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (!typeArguments) return; + if (isOptionalCall && !this.match(10)) { + missingParenErrorLoc = this.state.curPosition(); + return; + } + if (tokenIsTemplate(this.state.type)) { + const result = super.parseTaggedTemplateExpression(base, startLoc, state); + result.typeParameters = typeArguments; + return result; + } + if (!noCalls && this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(11, false); + this.tsCheckForInvalidTypeCasts(node.arguments); + node.typeParameters = typeArguments; + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + return this.finishCallExpression(node, state.optionalChainMember); + } + const tokenType = this.state.type; + if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) { + return; + } + const node = this.startNodeAt(startLoc); + node.expression = base; + node.typeParameters = typeArguments; + return this.finishNode(node, "TSInstantiationExpression"); + }); + if (missingParenErrorLoc) { + this.unexpected(missingParenErrorLoc, 10); + } + if (result) { + if (result.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40)) { + this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, { + at: this.state.startLoc + }); + } + return result; + } + } + return super.parseSubscript(base, startLoc, noCalls, state); + } + parseNewCallee(node) { + var _callee$extra; + super.parseNewCallee(node); + const { + callee + } = node; + if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { + node.typeParameters = callee.typeParameters; + node.callee = callee.expression; + } + } + parseExprOp(left, leftStartLoc, minPrec) { + let isSatisfies; + if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(120)))) { + const node = this.startNodeAt(leftStartLoc); + node.expression = left; + node.typeAnnotation = this.tsInType(() => { + this.next(); + if (this.match(75)) { + if (isSatisfies) { + this.raise(Errors.UnexpectedKeyword, { + at: this.state.startLoc, + keyword: "const" + }); + } + return this.tsParseTypeReference(); + } + return this.tsParseType(); + }); + this.finishNode(node, isSatisfies ? "TSSatisfiesExpression" : "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartLoc, minPrec); + } + return super.parseExprOp(left, leftStartLoc, minPrec); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (!this.state.isAmbientContext) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(TSErrors.ImportReflectionHasImportType, { + at: node.specifiers[0].loc.start + }); + } + } + checkDuplicateExports() {} + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + const ch = this.lookaheadCharCode(); + return isExport ? ch === 123 || ch === 42 : ch !== 61; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + node.exportKind = phase === "type" ? "type" : "value"; + } else { + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImport(node) { + if (this.match(133)) { + node.importKind = "value"; + return super.parseImport(node); + } + let importNode; + if (tokenIsIdentifier(this.state.type) && this.lookaheadCharCode() === 61) { + node.importKind = "value"; + return this.tsParseImportEqualsDeclaration(node); + } else if (this.isContextual(130)) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + if (this.lookaheadCharCode() === 61) { + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier); + } else { + importNode = super.parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier); + } + } else { + importNode = super.parseImport(node); + } + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, { + at: importNode + }); + } + return importNode; + } + parseExport(node, decorators) { + if (this.match(83)) { + this.next(); + let maybeDefaultIdentifier = null; + if (this.isContextual(130) && this.isPotentialImportPhase(false)) { + maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + } else { + node.importKind = "value"; + } + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, true); + } else if (this.eat(29)) { + const assign = node; + assign.expression = super.parseExpression(); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual(93)) { + const decl = node; + this.expectContextual(128); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + return super.parseExport(node, decorators); + } + } + isAbstractClass() { + return this.isContextual(124) && this.lookahead().type === 80; + } + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + return this.parseClass(cls, true, true); + } + if (this.match(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseExportDefaultExpression(); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + const { + isAmbientContext + } = this.state; + const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext); + if (!isAmbientContext) return declaration; + for (const { + id, + init + } of declaration.declarations) { + if (!init) continue; + if (kind !== "const" || !!id.typeAnnotation) { + this.raise(TSErrors.InitializerNotAllowedInAmbientContext, { + at: init + }); + } else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) { + this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, { + at: init + }); + } + } + return declaration; + } + parseStatementContent(flags, decorators) { + if (this.match(75) && this.isLookaheadContextual("enum")) { + const node = this.startNode(); + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true + }); + } + if (this.isContextual(126)) { + return this.tsParseEnumDeclaration(this.startNode()); + } + if (this.isContextual(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseStatementContent(flags, decorators); + } + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + return !!member[modifier]; + }); + } + tsIsStartOfStaticBlocks() { + return this.isContextual(106) && this.lookaheadCharCode() === 123; + } + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers({ + allowedModifiers: modifiers, + disallowedModifiers: ["in", "out"], + stopOnStartOfClassStaticBlock: true, + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }, member); + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(TSErrors.StaticBlockCannotHaveModifier, { + at: this.state.curPosition() + }); + } + super.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + if (idx) { + classBody.body.push(idx); + if (member.abstract) { + this.raise(TSErrors.IndexSignatureHasAbstract, { + at: member + }); + } + if (member.accessibility) { + this.raise(TSErrors.IndexSignatureHasAccessibility, { + at: member, + modifier: member.accessibility + }); + } + if (member.declare) { + this.raise(TSErrors.IndexSignatureHasDeclare, { + at: member + }); + } + if (member.override) { + this.raise(TSErrors.IndexSignatureHasOverride, { + at: member + }); + } + return; + } + if (!this.state.inAbstractClass && member.abstract) { + this.raise(TSErrors.NonAbstractClassHasAbstractMethod, { + at: member + }); + } + if (member.override) { + if (!state.hadSuperClass) { + this.raise(TSErrors.OverrideNotInSubClass, { + at: member + }); + } + } + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(17); + if (optional) methodOrProp.optional = true; + if (methodOrProp.readonly && this.match(10)) { + this.raise(TSErrors.ClassMethodHasReadonly, { + at: methodOrProp + }); + } + if (methodOrProp.declare && this.match(10)) { + this.raise(TSErrors.ClassMethodHasDeclare, { + at: methodOrProp + }); + } + } + parseExpressionStatement(node, expr, decorators) { + const decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr, decorators) : undefined; + return decl || super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.state.maybeInArrowParameters || !this.match(17)) { + return super.parseConditional(expr, startLoc, refExpressionErrors); + } + const result = this.tryParse(() => super.parseConditional(expr, startLoc)); + if (!result.node) { + if (result.error) { + super.setOptionalParametersError(refExpressionErrors, result.error); + } + return expr; + } + if (result.error) this.state = result.failState; + return result.node; + } + parseParenItem(node, startLoc) { + node = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + return node; + } + parseExportDeclaration(node) { + if (!this.state.isAmbientContext && this.isContextual(125)) { + return this.tsInAmbientContext(() => this.parseExportDeclaration(node)); + } + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual(125); + if (isDeclare && (this.isContextual(125) || !this.shouldParseExportDeclaration())) { + throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, { + at: this.state.startLoc + }); + } + const isIdentifier = tokenIsIdentifier(this.state.type); + const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node); + if (!declaration) return null; + if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { + node.exportKind = "type"; + } + if (isDeclare) { + this.resetStartLocation(declaration, startLoc); + declaration.declare = true; + } + return declaration; + } + parseClassId(node, isStatement, optionalId, bindingType) { + if ((!isStatement || optionalId) && this.isContextual(113)) { + return; + } + super.parseClassId(node, isStatement, optionalId, node.declare ? 1024 : 8331); + const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (typeParameters) node.typeParameters = typeParameters; + } + parseClassPropertyAnnotation(node) { + if (!node.optional) { + if (this.eat(35)) { + node.definite = true; + } else if (this.eat(17)) { + node.optional = true; + } + } + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) { + this.raise(TSErrors.DeclareClassFieldHasInitializer, { + at: this.state.startLoc + }); + } + if (node.abstract && this.match(29)) { + const { + key + } = node; + this.raise(TSErrors.AbstractPropertyHasInitializer, { + at: this.state.startLoc, + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(TSErrors.PrivateElementHasAbstract, { + at: node + }); + } + if (node.accessibility) { + this.raise(TSErrors.PrivateElementHasAccessibility, { + at: node, + modifier: node.accessibility + }); + } + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + parseClassAccessorProperty(node) { + this.parseClassPropertyAnnotation(node); + if (node.optional) { + this.raise(TSErrors.AccessorCannotBeOptional, { + at: node + }); + } + return super.parseClassAccessorProperty(node); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters && isConstructor) { + this.raise(TSErrors.ConstructorHasTypeParameters, { + at: typeParameters + }); + } + const { + declare = false, + kind + } = method; + if (declare && (kind === "get" || kind === "set")) { + this.raise(TSErrors.DeclareAccessor, { + at: method, + kind + }); + } + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + declareClassPrivateMethodInScope(node, kind) { + if (node.type === "TSDeclareMethod") return; + if (node.type === "MethodDefinition" && !node.value.body) return; + super.declareClassPrivateMethodInScope(node, kind); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && (this.match(47) || this.match(51))) { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } + if (this.eatContextual(113)) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) prop.typeParameters = typeParameters; + return super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + } + parseFunctionParams(node, isConstructor) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) { + decl.definite = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + node.returnType = this.tsParseTypeAnnotation(); + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2; + let state; + let jsx; + let typeCast; + if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) { + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + if (!state || state === this.state) state = this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) { + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!typeCast.error) return typeCast.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrow.node) { + this.state = arrow.failState; + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error); + } + reportReservedArrowTypeParam(node) { + var _node$extra; + if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedArrowTypeParam, { + at: node + }); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + if (!this.hasPlugin("jsx") && this.match(47)) { + return this.tsParseTypeAssertion(); + } + return super.parseMaybeUnary(refExpressionErrors, sawUnary); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + if (this.canInsertSemicolon() || !this.match(19)) abort(); + return returnType; + }); + if (result.aborted) return; + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + return super.parseArrow(node); + } + parseAssignableListItemTypes(param, flags) { + if (!(flags & 2)) return param; + if (this.eat(17)) { + param.optional = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + case "TSParameterProperty": + return true; + default: + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + switch (node.type) { + case "ParenthesizedExpression": + this.toAssignableParenthesizedExpression(node, isLHS); + break; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + if (isLHS) { + this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } else { + this.raise(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } + this.toAssignable(node.expression, isLHS); + break; + case "AssignmentExpression": + if (!isLHS && node.left.type === "TSTypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + default: + super.toAssignable(node, isLHS); + } + } + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + this.toAssignable(node.expression, isLHS); + break; + default: + super.toAssignable(node, isLHS); + } + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + this.checkToRestConversion(node.expression, false); + break; + default: + super.checkToRestConversion(node, allowPattern); + } + } + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn({ + TSTypeCastExpression: true, + TSParameterProperty: "parameter", + TSNonNullExpression: "expression", + TSAsExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], + TSSatisfiesExpression: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true], + TSTypeAssertion: (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true] + }, type) || super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + parseBindingAtom() { + if (this.state.type === 78) { + return this.parseIdentifier(true); + } + return super.parseBindingAtom(); + } + parseMaybeDecoratorArguments(expr) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (this.match(10)) { + const call = super.parseMaybeDecoratorArguments(expr); + call.typeParameters = typeArguments; + return call; + } + this.unexpected(null, 10); + } + return super.parseMaybeDecoratorArguments(expr); + } + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { + this.next(); + return false; + } + return super.checkCommaAfterRest(close); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(35) || this.match(14) || super.isClassProperty(); + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(TSErrors.TypeAnnotationAfterAssign, { + at: node.typeAnnotation + }); + } + return node; + } + getTokenFromCode(code) { + if (this.state.inType) { + if (code === 62) { + this.finishOp(48, 1); + return; + } + if (code === 60) { + this.finishOp(47, 1); + return; + } + } + super.getTokenFromCode(code); + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TSTypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + shouldParseArrow(params) { + if (this.match(14)) { + return params.every(expr => this.isAssignable(expr, true)); + } + return super.shouldParseArrow(params); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + jsxParseOpeningElementAfterName(node) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); + if (typeArguments) node.typeParameters = typeArguments; + } + return super.jsxParseOpeningElementAfterName(node); + } + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + return param; + } + tsInAmbientContext(cb) { + const oldIsAmbientContext = this.state.isAmbientContext; + this.state.isAmbientContext = true; + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + } + } + parseClass(node, isStatement, optionalId) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + try { + return super.parseClass(node, isStatement, optionalId); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + tsParseAbstractDeclaration(node, decorators) { + if (this.match(80)) { + node.abstract = true; + return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false)); + } else if (this.isContextual(129)) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, { + at: node + }); + return this.tsParseInterfaceDeclaration(node); + } + } else { + this.unexpected(null, 80); + } + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { + const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + if (method.abstract) { + const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; + if (hasBody) { + const { + key + } = method; + this.raise(TSErrors.AbstractMethodHasImplementation, { + at: method, + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + } + return method; + } + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.parse(); + } + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.getExpression(); + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (!isString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport); + return this.finishNode(node, "ExportSpecifier"); + } + node.exportKind = "value"; + return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly); + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (!importedIsString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport); + return this.finishNode(specifier, "ImportSpecifier"); + } + specifier.importKind = "value"; + return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? 4098 : 4096); + } + parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) { + const leftOfAsKey = isImport ? "imported" : "local"; + const rightOfAsKey = isImport ? "local" : "exported"; + let leftOfAs = node[leftOfAsKey]; + let rightOfAs; + let hasTypeSpecifier = false; + let canParseAsKeyword = true; + const loc = leftOfAs.loc.start; + if (this.isContextual(93)) { + const firstAs = this.parseIdentifier(); + if (this.isContextual(93)) { + const secondAs = this.parseIdentifier(); + if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + leftOfAs = firstAs; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + canParseAsKeyword = false; + } else { + rightOfAs = secondAs; + canParseAsKeyword = false; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + canParseAsKeyword = false; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } else { + hasTypeSpecifier = true; + leftOfAs = firstAs; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + if (isImport) { + leftOfAs = this.parseIdentifier(true); + if (!this.isContextual(93)) { + this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true); + } + } else { + leftOfAs = this.parseModuleExportName(); + } + } + if (hasTypeSpecifier && isInTypeOnlyImportExport) { + this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, { + at: loc + }); + } + node[leftOfAsKey] = leftOfAs; + node[rightOfAsKey] = rightOfAs; + const kindKey = isImport ? "importKind" : "exportKind"; + node[kindKey] = hasTypeSpecifier ? "type" : "value"; + if (canParseAsKeyword && this.eatContextual(93)) { + node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } + if (!node[rightOfAsKey]) { + node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]); + } + if (isImport) { + this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? 4098 : 4096); + } + } +}; +function isPossiblyLiteralEnum(expression) { + if (expression.type !== "MemberExpression") return false; + const { + computed, + property + } = expression; + if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +function isValidAmbientConstInitializer(expression, estree) { + var _expression$extra; + const { + type + } = expression; + if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) { + return false; + } + if (estree) { + if (type === "Literal") { + const { + value + } = expression; + if (typeof value === "string" || typeof value === "boolean") { + return true; + } + } + } else { + if (type === "StringLiteral" || type === "BooleanLiteral") { + return true; + } + } + if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) { + return true; + } + if (type === "TemplateLiteral" && expression.expressions.length === 0) { + return true; + } + if (isPossiblyLiteralEnum(expression)) { + return true; + } + return false; +} +function isNumber(expression, estree) { + if (estree) { + return expression.type === "Literal" && (typeof expression.value === "number" || "bigint" in expression); + } + return expression.type === "NumericLiteral" || expression.type === "BigIntLiteral"; +} +function isNegativeNumber(expression, estree) { + if (expression.type === "UnaryExpression") { + const { + operator, + argument + } = expression; + if (operator === "-" && isNumber(argument, estree)) { + return true; + } + } + return false; +} +function isUncomputedMemberExpressionChain(expression) { + if (expression.type === "Identifier") return true; + if (expression.type !== "MemberExpression" || expression.computed) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +const PlaceholderErrors = ParseErrorEnum`placeholders`({ + ClassNameIsRequired: "A class name is required.", + UnexpectedSpace: "Unexpected space in placeholder." +}); +var placeholders = superClass => class PlaceholdersParserMixin extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(144)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace(); + node.name = super.parseIdentifier(true); + this.assertNoSpace(); + this.expect(144); + return this.finishPlaceholder(node, expectedNode); + } + } + finishPlaceholder(node, expectedNode) { + const isFinished = !!(node.expectedNode && node.type === "Placeholder"); + node.expectedNode = expectedNode; + return isFinished ? node : this.finishNode(node, "Placeholder"); + } + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + this.finishOp(144, 2); + } else { + super.getTokenFromCode(code); + } + } + parseExprAtom(refExpressionErrors) { + return this.parsePlaceholder("Expression") || super.parseExprAtom(refExpressionErrors); + } + parseIdentifier(liberal) { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(liberal); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word !== undefined) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(); + } + isValidLVal(type, isParenthesized, binding) { + return type === "Placeholder" || super.isValidLVal(type, isParenthesized, binding); + } + toAssignable(node, isLHS) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + } else { + super.toAssignable(node, isLHS); + } + } + chStartsBindingIdentifier(ch, pos) { + if (super.chStartsBindingIdentifier(ch, pos)) { + return true; + } + const nextToken = this.lookahead(); + if (nextToken.type === 144) { + return true; + } + return false; + } + verifyBreakContinue(node, isBreak) { + if (node.label && node.label.type === "Placeholder") return; + super.verifyBreakContinue(node, isBreak); + } + parseExpressionStatement(node, expr) { + var _expr$extra; + if (expr.type !== "Placeholder" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + return super.parseExpressionStatement(node, expr); + } + if (this.match(14)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(); + return this.finishNode(stmt, "LabeledStatement"); + } + this.semicolon(); + node.name = expr.name; + return this.finishPlaceholder(node, "Statement"); + } + parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse); + } + parseFunctionId(requireId) { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(requireId); + } + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + if (placeholder) { + if (this.match(81) || this.match(144) || this.match(5)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + throw this.raise(PlaceholderErrors.ClassNameIsRequired, { + at: this.state.startLoc + }); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + super.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + parseExport(node, decorators) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(node, decorators); + if (!this.isContextual(98) && !this.match(12)) { + node.specifiers = []; + node.source = null; + node.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node, "ExportNamedDeclaration"); + } + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node, decorators); + } + isExportDefaultSpecifier() { + if (this.match(65)) { + const next = this.nextTokenStart(); + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(144), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + return super.isExportDefaultSpecifier(); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + var _specifiers; + if ((_specifiers = node.specifiers) != null && _specifiers.length) { + return true; + } + return super.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + } + checkExport(node) { + const { + specifiers + } = node; + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + super.checkExport(node); + node.specifiers = specifiers; + } + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(node); + node.specifiers = []; + if (!this.isContextual(98) && !this.match(12)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier")); + if (this.eat(12)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + this.expectContextual(98); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); + } + assertNoSpace() { + if (this.state.start > this.state.lastTokEndLoc.index) { + this.raise(PlaceholderErrors.UnexpectedSpace, { + at: this.state.lastTokEndLoc + }); + } + } +}; +var v8intrinsic = superClass => class V8IntrinsicMixin extends superClass { + parseV8Intrinsic() { + if (this.match(54)) { + const v8IntrinsicStartLoc = this.state.startLoc; + const node = this.startNode(); + this.next(); + if (tokenIsIdentifier(this.state.type)) { + const name = this.parseIdentifierName(); + const identifier = this.createIdentifier(node, name); + identifier.type = "V8IntrinsicIdentifier"; + if (this.match(10)) { + return identifier; + } + } + this.unexpected(v8IntrinsicStartLoc); + } + } + parseExprAtom(refExpressionErrors) { + return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); + } +}; +function hasPlugin(plugins, expectedConfig) { + const [expectedName, expectedOptions] = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig; + const expectedKeys = Object.keys(expectedOptions); + const expectedOptionsIsEmpty = expectedKeys.length === 0; + return plugins.some(p => { + if (typeof p === "string") { + return expectedOptionsIsEmpty && p === expectedName; + } else { + const [pluginName, pluginOptions] = p; + if (pluginName !== expectedName) { + return false; + } + for (const key of expectedKeys) { + if (pluginOptions[key] !== expectedOptions[key]) { + return false; + } + } + return true; + } + }); +} +function getPluginOption(plugins, name, option) { + const plugin = plugins.find(plugin => { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); + if (plugin && Array.isArray(plugin) && plugin.length > 1) { + return plugin[1][option]; + } + return null; +} +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; +const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; +function validatePlugins(plugins) { + if (hasPlugin(plugins, "decorators")) { + if (hasPlugin(plugins, "decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean, if specified."); + } + const allowCallParenthesized = getPluginOption(plugins, "decorators", "allowCallParenthesized"); + if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") { + throw new Error("'allowCallParenthesized' must be a boolean."); + } + } + if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + if (hasPlugin(plugins, "pipelineOperator")) { + const proposal = getPluginOption(plugins, "pipelineOperator", "proposal"); + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + const tupleSyntaxIsHash = hasPlugin(plugins, ["recordAndTuple", { + syntaxType: "hash" + }]); + if (proposal === "hack") { + if (hasPlugin(plugins, "placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + if (hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken"); + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + if (topicToken === "#" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } else if (proposal === "smart" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } + if (hasPlugin(plugins, "moduleAttributes")) { + { + if (hasPlugin(plugins, "importAssertions") || hasPlugin(plugins, "importAttributes")) { + throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins."); + } + const moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); + if (moduleAttributesVersionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + } + if (hasPlugin(plugins, "importAssertions") && hasPlugin(plugins, "importAttributes")) { + throw new Error("Cannot combine importAssertions and importAttributes plugins."); + } + if (hasPlugin(plugins, "recordAndTuple") && getPluginOption(plugins, "recordAndTuple", "syntaxType") != null && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { + throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } + if (hasPlugin(plugins, "optionalChainingAssign") && getPluginOption(plugins, "optionalChainingAssign", "version") !== "2023-07") { + throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is '2023-07'."); + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); +const defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowNewTargetOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createImportExpressions: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true, + annexB: true +}; +function getOptions(opts) { + if (opts == null) { + return Object.assign({}, defaultOptions); + } + if (opts.annexB != null && opts.annexB !== false) { + throw new Error("The `annexB` option can only be set to `false`."); + } + const options = {}; + for (const key of Object.keys(defaultOptions)) { + var _opts$key; + options[key] = (_opts$key = opts[key]) != null ? _opts$key : defaultOptions[key]; + } + return options; +} +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, protoRef, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return; + } + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + if (name === "__proto__") { + if (isRecord) { + this.raise(Errors.RecordNoProto, { + at: key + }); + return; + } + if (protoRef.used) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProtoLoc === null) { + refExpressionErrors.doubleProtoLoc = key.loc.start; + } + } else { + this.raise(Errors.DuplicateProto, { + at: key + }); + } + } + protoRef.used = true; + } + } + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt; + } + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + const expr = this.parseExpression(); + if (!this.match(139)) { + this.unexpected(); + } + this.finalizeRemainingComments(); + expr.comments = this.state.comments; + expr.errors = this.state.errors; + if (this.options.tokens) { + expr.tokens = this.tokens; + } + return expr; + } + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + parseExpressionBase(refExpressionErrors) { + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + if (this.match(12)) { + const node = this.startNodeAt(startLoc); + node.expressions = [expr]; + while (this.eat(12)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + return expr; + } + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + setOptionalParametersError(refExpressionErrors, resultError) { + var _resultError$loc; + refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc; + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startLoc = this.state.startLoc; + if (this.isContextual(108)) { + if (this.prodParam.hasYield) { + let left = this.parseYield(); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + return left; + } + } + let ownExpressionErrors; + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + const { + type + } = this.state; + if (type === 10 || tokenIsIdentifier(type)) { + this.state.potentialArrowAt = this.state.start; + } + let left = this.parseMaybeConditional(refExpressionErrors); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startLoc); + const operator = this.state.value; + node.operator = operator; + if (this.match(29)) { + this.toAssignable(left, true); + node.left = left; + const startIndex = startLoc.index; + if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) { + refExpressionErrors.doubleProtoLoc = null; + } + if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) { + refExpressionErrors.shorthandAssignLoc = null; + } + if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) { + this.checkDestructuringPrivate(refExpressionErrors); + refExpressionErrors.privateKeyLoc = null; + } + } else { + node.left = left; + } + this.next(); + node.right = this.parseMaybeAssign(); + this.checkLVal(left, { + in: this.finishNode(node, "AssignmentExpression") + }); + return node; + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + return left; + } + parseMaybeConditional(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseConditional(expr, startLoc, refExpressionErrors); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (this.eat(17)) { + const node = this.startNodeAt(startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(14); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + return expr; + } + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(138) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + parseExprOps(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseExprOp(expr, startLoc, -1); + } + parseExprOp(left, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) { + this.raise(Errors.PrivateInExpectedIn, { + at: left, + identifierName: value + }); + } + this.classScope.usePrivateName(value, left.loc.start); + } + const op = this.state.type; + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) { + let prec = tokenOperatorPrecedence(op); + if (prec > minPrec) { + if (op === 39) { + this.expectPlugin("pipelineOperator"); + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + this.checkPipelineAtInfixOperator(left, leftStartLoc); + } + const node = this.startNodeAt(leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 41 || op === 42; + const coalesce = op === 40; + if (coalesce) { + prec = tokenOperatorPrecedence(42); + } + this.next(); + if (op === 39 && this.hasPlugin(["pipelineOperator", { + proposal: "minimal" + }])) { + if (this.state.type === 96 && this.prodParam.hasAwait) { + throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, { + at: this.state.startLoc + }); + } + } + node.right = this.parseExprOpRightExpr(op, prec); + const finishedNode = this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) { + throw this.raise(Errors.MixingCoalesceWithLogical, { + at: this.state.startLoc + }); + } + return this.parseExprOp(finishedNode, leftStartLoc, minPrec); + } + } + return left; + } + parseExprOpRightExpr(op, prec) { + const startLoc = this.state.startLoc; + switch (op) { + case 39: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + case "smart": + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(108)) { + throw this.raise(Errors.PipeBodyIsTighter, { + at: this.state.startLoc + }); + } + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); + }); + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + parseExprOpBaseRightExpr(op, prec) { + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + parseHackPipeBody() { + var _body$extra; + const { + startLoc + } = this.state; + const body = this.parseMaybeAssign(); + const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type); + if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(Errors.PipeUnparenthesizedBody, { + at: startLoc, + type: body.type + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipeTopicUnused, { + at: startLoc + }); + } + return body; + } + checkExponentialAfterUnary(node) { + if (this.match(57)) { + this.raise(Errors.UnexpectedTokenUnaryExponentiation, { + at: node.argument + }); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startLoc = this.state.startLoc; + const isAwait = this.isContextual(96); + if (isAwait && this.isAwaitAllowed()) { + this.next(); + const expr = this.parseAwait(startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + const update = this.match(34); + const node = this.startNode(); + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + if (this.match(72)) { + this.expectPlugin("throwExpressions"); + } + const isDelete = this.match(89); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + if (this.state.strict && isDelete) { + const arg = node.argument; + if (arg.type === "Identifier") { + this.raise(Errors.StrictDelete, { + at: node + }); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(Errors.DeletePrivateField, { + at: node + }); + } + } + if (!update) { + if (!sawUnary) { + this.checkExponentialAfterUnary(node); + } + return this.finishNode(node, "UnaryExpression"); + } + } + const expr = this.parseUpdate(node, update, refExpressionErrors); + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousAwait()) { + this.raiseOverwrite(Errors.AwaitNotInAsyncContext, { + at: startLoc + }); + return this.parseAwait(startLoc); + } + } + return expr; + } + parseUpdate(node, update, refExpressionErrors) { + if (update) { + const updateExpressionNode = node; + this.checkLVal(updateExpressionNode.argument, { + in: this.finishNode(updateExpressionNode, "UpdateExpression") + }); + return node; + } + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.next(); + this.checkLVal(expr, { + in: expr = this.finishNode(node, "UpdateExpression") + }); + } + return expr; + } + parseExprSubscripts(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseSubscripts(expr, startLoc); + } + parseSubscripts(base, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + do { + base = this.parseSubscript(base, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + return base; + } + parseSubscript(base, startLoc, noCalls, state) { + const { + type + } = this.state; + if (!noCalls && type === 15) { + return this.parseBind(base, startLoc, noCalls, state); + } else if (tokenIsTemplate(type)) { + return this.parseTaggedTemplateExpression(base, startLoc, state); + } + let optional = false; + if (type === 18) { + if (noCalls) { + this.raise(Errors.OptionalChainingNoNew, { + at: this.state.startLoc + }); + if (this.lookaheadCharCode() === 40) { + state.stop = true; + return base; + } + } + state.optionalChainMember = optional = true; + this.next(); + } + if (!noCalls && this.match(10)) { + return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional); + } else { + const computed = this.eat(0); + if (computed || optional || this.eat(16)) { + return this.parseMember(base, startLoc, state, computed, optional); + } else { + state.stop = true; + return base; + } + } + } + parseMember(base, startLoc, state, computed, optional) { + const node = this.startNodeAt(startLoc); + node.object = base; + node.computed = computed; + if (computed) { + node.property = this.parseExpression(); + this.expect(3); + } else if (this.match(138)) { + if (base.type === "Super") { + this.raise(Errors.SuperPrivateField, { + at: startLoc + }); + } + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + parseBind(base, startLoc, noCalls, state) { + const node = this.startNodeAt(startLoc); + node.object = base; + this.next(); + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startLoc, noCalls); + } + parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + const { + maybeAsyncArrow, + optionalChainMember + } = state; + if (maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + if (optionalChainMember) { + node.optional = optional; + } + if (optional) { + node.arguments = this.parseCallExpressionArguments(11); + } else { + node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors); + } + let finishedNode = this.finishCallExpression(node, optionalChainMember); + if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode); + } else { + if (maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + this.toReferencedArguments(finishedNode); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return finishedNode; + } + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + parseTaggedTemplateExpression(base, startLoc, state) { + const node = this.startNodeAt(startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + if (state.optionalChainMember) { + this.raise(Errors.OptionalChainingNoTemplate, { + at: startLoc + }); + } + return this.finishNode(node, "TaggedTemplateExpression"); + } + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt; + } + expectImportAttributesPlugin() { + if (!this.hasPlugin("importAssertions")) { + this.expectPlugin("importAttributes"); + } + } + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 2) { + { + if (!this.hasPlugin("moduleAttributes")) { + this.expectImportAttributesPlugin(); + } + } + } + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(Errors.ImportCallArity, { + at: node, + maxArgumentCount: this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1 + }); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(Errors.ImportCallSpreadArgument, { + at: arg + }); + } + } + } + } + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (dynamicImport && !this.hasPlugin("importAttributes") && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { + this.raise(Errors.ImportCallArgumentTrailingComma, { + at: this.state.lastTokStartLoc + }); + } + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder)); + } + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + shouldParseAsyncArrow() { + return this.match(19) && !this.canInsertSemicolon(); + } + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + this.resetPreviousNodeTrailingComments(call); + this.expect(19); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc); + if (call.innerComments) { + setInnerComments(node, call.innerComments); + } + if (call.callee.trailingComments) { + setInnerComments(node, call.callee.trailingComments); + } + return node; + } + parseNoCallExpr() { + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startLoc, true); + } + parseExprAtom(refExpressionErrors) { + let node; + let decorators = null; + const { + type + } = this.state; + switch (type) { + case 79: + return this.parseSuper(); + case 83: + node = this.startNode(); + this.next(); + if (this.match(16)) { + return this.parseImportMetaProperty(node); + } + if (this.match(10)) { + if (this.options.createImportExpressions) { + return this.parseImportCall(node); + } else { + return this.finishNode(node, "Import"); + } + } else { + this.raise(Errors.UnsupportedImport, { + at: this.state.lastTokStartLoc + }); + return this.finishNode(node, "Import"); + } + case 78: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + case 90: + { + return this.parseDo(this.startNode(), false); + } + case 56: + case 31: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + case 134: + return this.parseNumericLiteral(this.state.value); + case 135: + return this.parseBigIntLiteral(this.state.value); + case 136: + return this.parseDecimalLiteral(this.state.value); + case 133: + return this.parseStringLiteral(this.state.value); + case 84: + return this.parseNullLiteral(); + case 85: + return this.parseBooleanLiteral(true); + case 86: + return this.parseBooleanLiteral(false); + case 10: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + case 2: + case 1: + { + return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true); + } + case 0: + { + return this.parseArrayLike(3, true, false, refExpressionErrors); + } + case 6: + case 7: + { + return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true); + } + case 5: + { + return this.parseObjectLike(8, false, false, refExpressionErrors); + } + case 68: + return this.parseFunctionOrFunctionSent(); + case 26: + decorators = this.parseDecorators(); + case 80: + return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false); + case 77: + return this.parseNewOrNewTarget(); + case 25: + case 24: + return this.parseTemplate(false); + case 15: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(Errors.UnsupportedBind, { + at: callee + }); + } + } + case 138: + { + this.raise(Errors.PrivateInExpectedIn, { + at: this.state.startLoc, + identifierName: this.state.value + }); + return this.parsePrivateName(); + } + case 33: + { + return this.parseTopicReferenceThenEqualsSign(54, "%"); + } + case 32: + { + return this.parseTopicReferenceThenEqualsSign(44, "^"); + } + case 37: + case 38: + { + return this.parseTopicReference("hack"); + } + case 44: + case 54: + case 27: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + return this.parseTopicReference(pipeProposal); + } + this.unexpected(); + break; + } + case 47: + { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + this.expectOnePlugin(["jsx", "flow", "typescript"]); + } else { + this.unexpected(); + } + break; + } + default: + if (tokenIsIdentifier(type)) { + if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) { + return this.parseModuleExpression(); + } + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + const { + type + } = this.state; + if (type === 68) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseAsyncFunctionExpression(this.startNodeAtNode(id)); + } else if (tokenIsIdentifier(type)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (type === 90) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + return id; + } else { + this.unexpected(); + } + } + } + parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + this.state.type = topicTokenType; + this.state.value = topicTokenValue; + this.state.pos--; + this.state.end--; + this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1); + return this.parseTopicReference(pipeProposal); + } else { + this.unexpected(); + } + } + parseTopicReference(pipeProposal) { + const node = this.startNode(); + const startLoc = this.state.startLoc; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, startLoc, pipeProposal, tokenType); + } + finishTopicReference(node, startLoc, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { + const nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference"; + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, { + at: startLoc + }); + } + this.registerTopicReference(); + return this.finishNode(node, nodeType); + } else { + throw this.raise(Errors.PipeTopicUnconfiguredToken, { + at: startLoc, + token: tokenLabelName(tokenType) + }); + } + } + testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) { + switch (pipeProposal) { + case "hack": + { + return this.hasPlugin(["pipelineOperator", { + topicToken: tokenLabelName(tokenType) + }]); + } + case "smart": + return tokenType === 27; + default: + throw this.raise(Errors.PipeTopicRequiresHackPipes, { + at: startLoc + }); + } + } + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.LineTerminatorBeforeArrow, { + at: this.state.curPosition() + }); + } + this.expect(19); + return this.parseArrowExpression(node, params, true); + } + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + if (isAsync) { + this.prodParam.enter(PARAM_AWAIT); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + parseSuper() { + const node = this.startNode(); + this.next(); + if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.SuperNotAllowed, { + at: node + }); + } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.UnexpectedSuper, { + at: node + }); + } + if (!this.match(10) && !this.match(0) && !this.match(16)) { + this.raise(Errors.UnsupportedSuper, { + at: node + }); + } + return this.finishNode(node, "Super"); + } + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + if (this.prodParam.hasYield && this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + if (this.match(103)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + return this.parseMetaProperty(node, meta, "sent"); + } + return this.parseFunction(node); + } + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + if (node.property.name !== propertyName || containsEsc) { + this.raise(Errors.UnsupportedMetaProperty, { + at: node.property, + target: meta.name, + onlyValidPropertyName: propertyName + }); + } + return this.finishNode(node, "MetaProperty"); + } + parseImportMetaProperty(node) { + const id = this.createIdentifier(this.startNodeAtNode(node), "import"); + this.next(); + if (this.isContextual(101)) { + if (!this.inModule) { + this.raise(Errors.ImportMetaOutsideModule, { + at: id + }); + } + this.sawUnambiguousESM = true; + } else if (this.isContextual(105) || this.isContextual(97)) { + const isSource = this.isContextual(105); + if (!isSource) this.unexpected(); + this.expectPlugin(isSource ? "sourcePhaseImports" : "deferredImportEvaluation"); + if (!this.options.createImportExpressions) { + throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions, { + at: this.state.startLoc, + phase: this.state.value + }); + } + this.next(); + node.phase = isSource ? "source" : "defer"; + return this.parseImportCall(node); + } + return this.parseMetaProperty(node, id, "meta"); + } + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + parseRegExpLiteral(value) { + const node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + parseParenAndDistinguishExpression(canBeArrow) { + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStartLoc; + let optionalCommaStartLoc; + while (!this.match(11)) { + if (first) { + first = false; + } else { + this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc); + if (this.match(11)) { + optionalCommaStartLoc = this.state.startLoc; + break; + } + } + if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + spreadStartLoc = this.state.startLoc; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc)); + if (!this.checkCommaAfterRest(41)) { + break; + } + } else { + exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem)); + } + } + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(11); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startLoc); + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + this.expressionScope.exit(); + if (!exprList.length) { + this.unexpected(this.state.lastTokStartLoc); + } + if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc); + if (spreadStartLoc) this.unexpected(spreadStartLoc); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + if (exprList.length > 1) { + val = this.startNodeAt(innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndLoc); + } else { + val = exprList[0]; + } + return this.wrapParenthesis(startLoc, val); + } + wrapParenthesis(startLoc, expression) { + if (!this.options.createParenthesizedExpressions) { + this.addExtra(expression, "parenthesized", true); + this.addExtra(expression, "parenStart", startLoc.index); + this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index); + return expression; + } + const parenExpression = this.startNodeAt(startLoc); + parenExpression.expression = expression; + return this.finishNode(parenExpression, "ParenthesizedExpression"); + } + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + parseArrow(node) { + if (this.eat(19)) { + return node; + } + } + parseParenItem(node, startLoc) { + return node; + } + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + if (this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + if (!this.scope.inNonArrowFunction && !this.scope.inClass && !this.options.allowNewTargetOutsideFunction) { + this.raise(Errors.UnexpectedNewTarget, { + at: metaProp + }); + } + return metaProp; + } + return this.parseNew(node); + } + parseNew(node) { + this.parseNewCallee(node); + if (this.eat(10)) { + const args = this.parseExprList(11); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + return this.finishNode(node, "NewExpression"); + } + parseNewCallee(node) { + const isImport = this.match(83); + const callee = this.parseNoCallExpr(); + node.callee = callee; + if (isImport && (callee.type === "Import" || callee.type === "ImportExpression")) { + this.raise(Errors.ImportCallNotNewExpression, { + at: callee + }); + } + } + parseTemplateElement(isTagged) { + const { + start, + startLoc, + end, + value + } = this.state; + const elemStart = start + 1; + const elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1)); + if (value === null) { + if (!isTagged) { + this.raise(Errors.InvalidEscapeSequenceTemplate, { + at: createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1) + }); + } + } + const isTail = this.match(24); + const endOffset = isTail ? -1 : -2; + const elemEnd = end + endOffset; + elem.value = { + raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"), + cooked: value === null ? null : value.slice(1, endOffset) + }; + elem.tail = isTail; + this.next(); + const finishedNode = this.finishNode(elem, "TemplateElement"); + this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset)); + return finishedNode; + } + parseTemplate(isTagged) { + const node = this.startNode(); + node.expressions = []; + let curElt = this.parseTemplateElement(isTagged); + node.quasis = [curElt]; + while (!curElt.tail) { + node.expressions.push(this.parseTemplateSubstitution()); + this.readTemplateContinuation(); + node.quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + return this.finishNode(node, "TemplateLiteral"); + } + parseTemplateSubstitution() { + return this.parseExpression(); + } + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const propHash = Object.create(null); + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + this.addTrailingCommaExtraToNode(node); + break; + } + } + let prop; + if (isPattern) { + prop = this.parseBindingProperty(); + } else { + prop = this.parsePropertyDefinition(refExpressionErrors); + this.checkProto(prop, isRecord, propHash, refExpressionErrors); + } + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(Errors.InvalidRecordProperty, { + at: prop + }); + } + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + node.properties.push(prop); + } + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + return this.finishNode(node, type); + } + addTrailingCommaExtraToNode(node) { + this.addExtra(node, "trailingComma", this.state.lastTokStart); + this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); + } + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55)); + } + parsePropertyDefinition(refExpressionErrors) { + let decorators = []; + if (this.match(26)) { + if (this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedPropertyDecorator, { + at: this.state.startLoc + }); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + const prop = this.startNode(); + let isAsync = false; + let isAccessor = false; + let startLoc; + if (this.match(21)) { + if (decorators.length) this.unexpected(); + return this.parseSpread(); + } + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + prop.method = false; + if (refExpressionErrors) { + startLoc = this.state.startLoc; + } + let isGenerator = this.eat(55); + this.parsePropertyNamePrefixOperator(prop); + const containsEsc = this.state.containsEsc; + const key = this.parsePropertyName(prop, refExpressionErrors); + if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const keyName = key.name; + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(55); + this.parsePropertyName(prop); + } + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + if (this.match(55)) { + isGenerator = true; + this.raise(Errors.AccessorIsGenerator, { + at: this.state.curPosition(), + kind: keyName + }); + this.next(); + } + this.parsePropertyName(prop); + } + } + return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors); + } + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + getObjectOrClassMethodParams(method) { + return method.params; + } + checkGetterSetterParams(method) { + var _params; + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length !== paramCount) { + this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: method + }); + } + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(Errors.BadSetterRestParameter, { + at: method + }); + } + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(finishedProp); + return finishedProp; + } + if (isAsync || isGenerator || this.match(10)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + if (this.eat(14)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors); + return this.finishNode(prop, "ObjectProperty"); + } + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false); + if (isPattern) { + prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key)); + } else if (this.match(29)) { + const shorthandAssignLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.shorthandAssignLoc === null) { + refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc; + } + } else { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key)); + } else { + prop.value = cloneIdentifier(prop.key); + } + prop.shorthand = true; + return this.finishNode(prop, "ObjectProperty"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + parsePropertyName(prop, refExpressionErrors) { + if (this.eat(0)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(3); + } else { + const { + type, + value + } = this.state; + let key; + if (tokenIsKeywordOrIdentifier(type)) { + key = this.parseIdentifier(true); + } else { + switch (type) { + case 134: + key = this.parseNumericLiteral(value); + break; + case 133: + key = this.parseStringLiteral(value); + break; + case 135: + key = this.parseBigIntLiteral(value); + break; + case 136: + key = this.parseDecimalLiteral(value); + break; + case 138: + { + const privateKeyLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.privateKeyLoc === null) { + refExpressionErrors.privateKeyLoc = privateKeyLoc; + } + } else { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + key = this.parsePrivateName(); + break; + } + default: + this.unexpected(); + } + } + prop.key = key; + if (type !== 138) { + prop.computed = false; + } + } + return prop.key; + } + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = isAsync; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = isGenerator; + this.scope.enter(2 | 16 | (inClassScope ? 64 : 0) | (allowDirectSuper ? 32 : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, isConstructor); + const finishedNode = this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return finishedNode; + } + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + parseArrowExpression(node, params, isAsync, trailingCommaLoc) { + this.scope.enter(2 | 4); + let flags = functionFlags(isAsync, false); + if (!this.match(5) && this.prodParam.hasIn) { + flags |= PARAM_IN; + } + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaLoc); + } + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + this.toAssignableList(params, trailingCommaLoc, false); + node.params = params; + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + return this.finishNode(node, type); + } + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(5); + this.expressionScope.enter(newExpressionScope()); + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + if (hasStrictModeDirective && nonSimple) { + this.raise(Errors.IllegalLanguageModeDirective, { + at: (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node + }); + } + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + if (this.state.strict && node.id) { + this.checkIdentifier(node.id, 65, strictModeChanged); + } + }); + this.prodParam.exit(); + this.state.labels = oldLabels; + } + this.expressionScope.exit(); + } + isSimpleParameter(node) { + return node.type === "Identifier"; + } + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (!this.isSimpleParameter(params[i])) return false; + } + return true; + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = !allowDuplicates && new Set(); + const formalParameters = { + type: "FormalParameters" + }; + for (const param of node.params) { + this.checkLVal(param, { + in: formalParameters, + binding: 5, + checkClashes, + strictModeChanged + }); + } + } + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors)); + } + return elts; + } + parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + if (this.match(12)) { + if (!allowEmpty) { + this.raise(Errors.UnexpectedToken, { + at: this.state.curPosition(), + unexpected: "," + }); + } + elt = null; + } else if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc); + } else if (this.match(17)) { + this.expectPlugin("partialApplication"); + if (!allowPlaceholder) { + this.raise(Errors.UnexpectedArgumentPlaceholder, { + at: this.state.startLoc + }); + } + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem); + } + return elt; + } + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(liberal); + return this.createIdentifier(node, name); + } + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + parseIdentifierName(liberal) { + let name; + const { + startLoc, + type + } = this.state; + if (tokenIsKeywordOrIdentifier(type)) { + name = this.state.value; + } else { + this.unexpected(); + } + const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type); + if (liberal) { + if (tokenIsKeyword) { + this.replaceToken(132); + } + } else { + this.checkReservedWord(name, startLoc, tokenIsKeyword, false); + } + this.next(); + return name; + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + if (!canBeReservedWord(word)) { + return; + } + if (checkKeywords && isKeyword(word)) { + this.raise(Errors.UnexpectedKeyword, { + at: startLoc, + keyword: word + }); + return; + } + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + if (reservedTest(word, this.inModule)) { + this.raise(Errors.UnexpectedReservedWord, { + at: startLoc, + reservedWord: word + }); + return; + } else if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(Errors.YieldBindingIdentifier, { + at: startLoc + }); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(Errors.AwaitBindingIdentifier, { + at: startLoc + }); + return; + } + if (this.scope.inStaticBlock) { + this.raise(Errors.AwaitBindingIdentifierInStaticBlock, { + at: startLoc + }); + return; + } + this.expressionScope.recordAsyncArrowParametersError({ + at: startLoc + }); + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(Errors.ArgumentsInClass, { + at: startLoc + }); + return; + } + } + } + isAwaitAllowed() { + if (this.prodParam.hasAwait) return true; + if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) { + return true; + } + return false; + } + parseAwait(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, { + at: node + }); + if (this.eat(55)) { + this.raise(Errors.ObsoleteAwaitStar, { + at: node + }); + } + if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (this.isAmbiguousAwait()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + return this.finishNode(node, "AwaitExpression"); + } + isAmbiguousAwait() { + if (this.hasPrecedingLineBreak()) return true; + const { + type + } = this.state; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 137 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + } + parseYield() { + const node = this.startNode(); + this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, { + at: node + }); + this.next(); + let delegating = false; + let argument = null; + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(55); + switch (this.state.type) { + case 13: + case 139: + case 8: + case 11: + case 3: + case 9: + case 14: + case 12: + if (!delegating) break; + default: + argument = this.parseMaybeAssign(); + } + } + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + parseImportCall(node) { + this.next(); + node.source = this.parseMaybeAssignAllowIn(); + if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + node.options = null; + } + if (this.eat(12)) { + this.expectImportAttributesPlugin(); + if (!this.match(11)) { + node.options = this.parseMaybeAssignAllowIn(); + this.eat(12); + } + } + this.expect(11); + return this.finishNode(node, "ImportExpression"); + } + checkPipelineAtInfixOperator(left, leftStartLoc) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + if (left.type === "SequenceExpression") { + this.raise(Errors.PipelineHeadSequenceExpression, { + at: leftStartLoc + }); + } + } + } + parseSmartPipelineBodyInStyle(childExpr, startLoc) { + if (this.isSimpleReference(childExpr)) { + const bodyNode = this.startNodeAt(startLoc); + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + const bodyNode = this.startNodeAt(startLoc); + this.checkSmartPipeTopicBodyEarlyErrors(startLoc); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + case "Identifier": + return true; + default: + return false; + } + } + checkSmartPipeTopicBodyEarlyErrors(startLoc) { + if (this.match(19)) { + throw this.raise(Errors.PipelineBodyNoArrow, { + at: this.state.startLoc + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipelineTopicUnused, { + at: startLoc + }); + } + } + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + withSmartMixTopicForbiddingContext(callback) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = PARAM_IN & ~flags; + if (prodParamToSet) { + this.prodParam.enter(flags | PARAM_IN); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = PARAM_IN & flags; + if (prodParamToClear) { + this.prodParam.enter(flags & ~PARAM_IN); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + parseFSharpPipelineBody(prec) { + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + if (!this.match(5)) { + this.unexpected(null, 5); + } + const program = this.startNodeAt(this.state.endLoc); + this.next(); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + try { + node.body = this.parseProgram(program, 8, "module"); + } finally { + revertScopes(); + } + return this.finishNode(node, "ModuleExpression"); + } + parsePropertyNamePrefixOperator(prop) {} +} +const loopLabel = { + kind: "loop" + }, + switchLabel = { + kind: "switch" + }; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; +function babel7CompatTokens(tokens, input) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + if (typeof type === "number") { + { + if (type === 138) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = createPositionWithColumnOffset(loc.start, 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(27), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(132), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + if (tokenIsTemplate(type)) { + const { + loc, + start, + value, + end + } = token; + const backquoteEnd = start + 1; + const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); + let startToken; + if (input.charCodeAt(start) === 96) { + startToken = new Token({ + type: getExportedToken(22), + value: "`", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } else { + startToken = new Token({ + type: getExportedToken(8), + value: "}", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } + let templateValue, templateElementEnd, templateElementEndLoc, endToken; + if (type === 24) { + templateElementEnd = end - 1; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1); + templateValue = value === null ? null : value.slice(1, -1); + endToken = new Token({ + type: getExportedToken(22), + value: "`", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } else { + templateElementEnd = end - 2; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2); + templateValue = value === null ? null : value.slice(1, -2); + endToken = new Token({ + type: getExportedToken(23), + value: "${", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } + tokens.splice(i, 1, startToken, new Token({ + type: getExportedToken(20), + value: templateValue, + start: backquoteEnd, + end: templateElementEnd, + startLoc: backquoteEndLoc, + endLoc: templateElementEndLoc + }), endToken); + i += 2; + continue; + } + } + token.type = getExportedToken(type); + } + } + return tokens; +} +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program); + file.comments = this.state.comments; + if (this.options.tokens) { + file.tokens = babel7CompatTokens(this.tokens, this.input); + } + return this.finishNode(file, "File"); + } + parseProgram(program, end = 139, sourceType = this.options.sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, { + at, + localName + }); + } + } + let finishedProgram; + if (end === 139) { + finishedProgram = this.finishNode(program, "Program"); + } else { + finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1)); + } + return finishedProgram; + } + stmtToDirective(stmt) { + const directive = stmt; + directive.type = "Directive"; + directive.value = directive.expression; + delete directive.expression; + const directiveLiteral = directive.value; + const expressionValue = directiveLiteral.value; + const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + this.addExtra(directiveLiteral, "expressionValue", expressionValue); + directiveLiteral.type = "DirectiveLiteral"; + return directive; + } + parseInterpreterDirective() { + if (!this.match(28)) { + return null; + } + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + isLet() { + if (!this.isContextual(100)) { + return false; + } + return this.hasFollowingBindingAtom(); + } + chStartsBindingIdentifier(ch, pos) { + if (isIdentifierStart(ch)) { + keywordRelationalOperator.lastIndex = pos; + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + chStartsBindingPattern(ch) { + return ch === 91 || ch === 123; + } + hasFollowingBindingAtom() { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next); + } + hasInLineFollowingBindingIdentifier() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next); + } + startsUsingForOf() { + const { + type, + containsEsc + } = this.lookahead(); + if (type === 102 && !containsEsc) { + return false; + } else if (tokenIsIdentifier(type) && !this.hasFollowingLineBreak()) { + this.expectPlugin("explicitResourceManagement"); + return true; + } + } + startsAwaitUsing() { + let next = this.nextTokenInLineStart(); + if (this.isUnparsedContextual(next, "using")) { + next = this.nextTokenInLineStartSince(next + 5); + const nextCh = this.codePointAtPos(next); + if (this.chStartsBindingIdentifier(nextCh, next)) { + this.expectPlugin("explicitResourceManagement"); + return true; + } + } + return false; + } + parseModuleItem() { + return this.parseStatementLike(1 | 2 | 4 | 8); + } + parseStatementListItem() { + return this.parseStatementLike(2 | 4 | (!this.options.annexB || this.state.strict ? 0 : 8)); + } + parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction = false) { + let flags = 0; + if (this.options.annexB && !this.state.strict) { + flags |= 4; + if (allowLabeledFunction) { + flags |= 8; + } + } + return this.parseStatementLike(flags); + } + parseStatement() { + return this.parseStatementLike(0); + } + parseStatementLike(flags) { + let decorators = null; + if (this.match(26)) { + decorators = this.parseDecorators(true); + } + return this.parseStatementContent(flags, decorators); + } + parseStatementContent(flags, decorators) { + const starttype = this.state.type; + const node = this.startNode(); + const allowDeclaration = !!(flags & 2); + const allowFunctionDeclaration = !!(flags & 4); + const topLevel = flags & 1; + switch (starttype) { + case 60: + return this.parseBreakContinueStatement(node, true); + case 63: + return this.parseBreakContinueStatement(node, false); + case 64: + return this.parseDebuggerStatement(node); + case 90: + return this.parseDoWhileStatement(node); + case 91: + return this.parseForStatement(node); + case 68: + if (this.lookaheadCharCode() === 46) break; + if (!allowFunctionDeclaration) { + this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, { + at: this.state.startLoc + }); + } + return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration); + case 80: + if (!allowDeclaration) this.unexpected(); + return this.parseClass(this.maybeTakeDecorators(decorators, node), true); + case 69: + return this.parseIfStatement(node); + case 70: + return this.parseReturnStatement(node); + case 71: + return this.parseSwitchStatement(node); + case 72: + return this.parseThrowStatement(node); + case 73: + return this.parseTryStatement(node); + case 96: + if (!this.state.containsEsc && this.startsAwaitUsing()) { + if (!this.isAwaitAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, { + at: node + }); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: node + }); + } + this.next(); + return this.parseVarStatement(node, "await using"); + } + break; + case 107: + if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifier()) { + break; + } + this.expectPlugin("explicitResourceManagement"); + if (!this.scope.inModule && this.scope.inTopLevel) { + this.raise(Errors.UnexpectedUsingDeclaration, { + at: this.state.startLoc + }); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: this.state.startLoc + }); + } + return this.parseVarStatement(node, "using"); + case 100: + { + if (this.state.containsEsc) { + break; + } + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + if (nextCh !== 91) { + if (!allowDeclaration && this.hasFollowingLineBreak()) break; + if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) { + break; + } + } + } + case 75: + { + if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: this.state.startLoc + }); + } + } + case 74: + { + const kind = this.state.value; + return this.parseVarStatement(node, kind); + } + case 92: + return this.parseWhileStatement(node); + case 76: + return this.parseWithStatement(node); + case 5: + return this.parseBlock(); + case 13: + return this.parseEmptyStatement(node); + case 83: + { + const nextTokenCharCode = this.lookaheadCharCode(); + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + case 82: + { + if (!this.options.allowImportExportEverywhere && !topLevel) { + this.raise(Errors.UnexpectedImportExport, { + at: this.state.startLoc + }); + } + this.next(); + let result; + if (starttype === 83) { + result = this.parseImport(node); + if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { + this.sawUnambiguousESM = true; + } + } else { + result = this.parseExport(node, decorators); + if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { + this.sawUnambiguousESM = true; + } + } + this.assertModuleNodeAllowed(result); + return result; + } + default: + { + if (this.isAsyncFunction()) { + if (!allowDeclaration) { + this.raise(Errors.AsyncFunctionInSingleStatementContext, { + at: this.state.startLoc + }); + } + this.next(); + return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration); + } + } + } + const maybeName = this.state.value; + const expr = this.parseExpression(); + if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) { + return this.parseLabeledStatement(node, maybeName, expr, flags); + } else { + return this.parseExpressionStatement(node, expr, decorators); + } + } + assertModuleNodeAllowed(node) { + if (!this.options.allowImportExportEverywhere && !this.inModule) { + this.raise(Errors.ImportOutsideModule, { + at: node + }); + } + } + decoratorsEnabledBeforeExport() { + if (this.hasPlugin("decorators-legacy")) return true; + return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") !== false; + } + maybeTakeDecorators(maybeDecorators, classNode, exportNode) { + if (maybeDecorators) { + if (classNode.decorators && classNode.decorators.length > 0) { + if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") { + this.raise(Errors.DecoratorsBeforeAfterExport, { + at: classNode.decorators[0] + }); + } + classNode.decorators.unshift(...maybeDecorators); + } else { + classNode.decorators = maybeDecorators; + } + this.resetStartLocationFromNode(classNode, maybeDecorators[0]); + if (exportNode) this.resetStartLocationFromNode(exportNode, classNode); + } + return classNode; + } + canHaveLeadingDecorator() { + return this.match(80); + } + parseDecorators(allowExport) { + const decorators = []; + do { + decorators.push(this.parseDecorator()); + } while (this.match(26)); + if (this.match(82)) { + if (!allowExport) { + this.unexpected(); + } + if (!this.decoratorsEnabledBeforeExport()) { + this.raise(Errors.DecoratorExportClass, { + at: this.state.startLoc + }); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(Errors.UnexpectedLeadingDecorator, { + at: this.state.startLoc + }); + } + return decorators; + } + parseDecorator() { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + const node = this.startNode(); + this.next(); + if (this.hasPlugin("decorators")) { + const startLoc = this.state.startLoc; + let expr; + if (this.match(10)) { + const startLoc = this.state.startLoc; + this.next(); + expr = this.parseExpression(); + this.expect(11); + expr = this.wrapParenthesis(startLoc, expr); + const paramsStartLoc = this.state.startLoc; + node.expression = this.parseMaybeDecoratorArguments(expr); + if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) { + this.raise(Errors.DecoratorArgumentsOutsideParentheses, { + at: paramsStartLoc + }); + } + } else { + expr = this.parseIdentifier(false); + while (this.eat(16)) { + const node = this.startNodeAt(startLoc); + node.object = expr; + if (this.match(138)) { + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + node.expression = this.parseMaybeDecoratorArguments(expr); + } + } else { + node.expression = this.parseExprSubscripts(); + } + return this.finishNode(node, "Decorator"); + } + parseMaybeDecoratorArguments(expr) { + if (this.eat(10)) { + const node = this.startNodeAtNode(expr); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(11, false); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + return expr; + } + parseBreakContinueStatement(node, isBreak) { + this.next(); + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + verifyBreakContinue(node, isBreak) { + let i; + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + if (i === this.state.labels.length) { + const type = isBreak ? "BreakStatement" : "ContinueStatement"; + this.raise(Errors.IllegalBreakContinue, { + at: node, + type + }); + } + } + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + parseHeaderExpression() { + this.expect(10); + const val = this.parseExpression(); + this.expect(11); + return val; + } + parseDoWhileStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + this.expect(92); + node.test = this.parseHeaderExpression(); + this.eat(13); + return this.finishNode(node, "DoWhileStatement"); + } + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = null; + if (this.isAwaitAllowed() && this.eatContextual(96)) { + awaitAt = this.state.lastTokStartLoc; + } + this.scope.enter(0); + this.expect(10); + if (this.match(13)) { + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, null); + } + const startsWithLet = this.isContextual(100); + { + const startsWithAwaitUsing = this.isContextual(96) && this.startsAwaitUsing(); + const starsWithUsingDeclaration = startsWithAwaitUsing || this.isContextual(107) && this.startsUsingForOf(); + const isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || starsWithUsingDeclaration; + if (this.match(74) || this.match(75) || isLetOrUsing) { + const initNode = this.startNode(); + let kind; + if (startsWithAwaitUsing) { + kind = "await using"; + if (!this.isAwaitAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, { + at: this.state.startLoc + }); + } + this.next(); + } else { + kind = this.state.value; + } + this.next(); + this.parseVar(initNode, true, kind); + const init = this.finishNode(initNode, "VariableDeclaration"); + const isForIn = this.match(58); + if (isForIn && starsWithUsingDeclaration) { + this.raise(Errors.ForInUsing, { + at: init + }); + } + if ((isForIn || this.isContextual(102)) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + } + const startsWithAsync = this.isContextual(95); + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual(102); + if (isForOf) { + if (startsWithLet) { + this.raise(Errors.ForOfLet, { + at: init + }); + } + if (awaitAt === null && startsWithAsync && init.type === "Identifier") { + this.raise(Errors.ForOfAsync, { + at: init + }); + } + } + if (isForOf || this.match(58)) { + this.checkDestructuringPrivate(refExpressionErrors); + this.toAssignable(init, true); + const type = isForOf ? "ForOfStatement" : "ForInStatement"; + this.checkLVal(init, { + in: { + type + } + }); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + parseFunctionStatement(node, isAsync, isHangingDeclaration) { + this.next(); + return this.parseFunction(node, 1 | (isHangingDeclaration ? 2 : 0) | (isAsync ? 8 : 0)); + } + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(); + node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null; + return this.finishNode(node, "IfStatement"); + } + parseReturnStatement(node) { + if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) { + this.raise(Errors.IllegalReturn, { + at: this.state.startLoc + }); + } + this.next(); + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + return this.finishNode(node, "ReturnStatement"); + } + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(5); + this.state.labels.push(switchLabel); + this.scope.enter(0); + let cur; + for (let sawDefault; !this.match(8);) { + if (this.match(61) || this.match(65)) { + const isCase = this.match(61); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(Errors.MultipleDefaultsInSwitch, { + at: this.state.lastTokStartLoc + }); + } + sawDefault = true; + cur.test = null; + } + this.expect(14); + } else { + if (cur) { + cur.consequent.push(this.parseStatementListItem()); + } else { + this.unexpected(); + } + } + } + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + parseThrowStatement(node) { + this.next(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.NewlineAfterThrow, { + at: this.state.lastTokEndLoc + }); + } + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + this.scope.enter(this.options.annexB && param.type === "Identifier" ? 8 : 0); + this.checkLVal(param, { + in: { + type: "CatchClause" + }, + binding: 9 + }); + return param; + } + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.match(62)) { + const clause = this.startNode(); + this.next(); + if (this.match(10)) { + this.expect(10); + clause.param = this.parseCatchClauseParam(); + this.expect(11); + } else { + clause.param = null; + this.scope.enter(0); + } + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + node.finalizer = this.eat(67) ? this.parseBlock() : null; + if (!node.handler && !node.finalizer) { + this.raise(Errors.NoCatchOrFinally, { + at: node + }); + } + return this.finishNode(node, "TryStatement"); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + parseWithStatement(node) { + if (this.state.strict) { + this.raise(Errors.StrictWith, { + at: this.state.startLoc + }); + } + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + return this.finishNode(node, "WithStatement"); + } + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + parseLabeledStatement(node, maybeName, expr, flags) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(Errors.LabelRedeclaration, { + at: expr, + labelName: maybeName + }); + } + } + const kind = tokenIsLoop(this.state.type) ? "loop" : this.match(71) ? "switch" : null; + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + if (label.statementStart === node.start) { + label.statementStart = this.state.start; + label.kind = kind; + } else { + break; + } + } + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.state.start + }); + node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement(); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + parseExpressionStatement(node, expr, decorators) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + if (allowDirectives) { + this.state.strictErrors.clear(); + } + this.expect(5); + if (createNewLexicalScope) { + this.scope.enter(0); + } + this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse); + if (createNewLexicalScope) { + this.scope.exit(); + } + return this.finishNode(node, "BlockStatement"); + } + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + while (!this.match(end)) { + const stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem(); + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + continue; + } + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + body.push(stmt); + } + afterBlockParse == null ? void 0 : afterBlockParse.call(this, hasStrictModeDirective); + if (!oldStrict) { + this.setStrict(false); + } + this.next(); + } + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(13) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(11) ? null : this.parseExpression(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + parseForIn(node, init, awaitAt) { + const isForIn = this.match(58); + this.next(); + if (isForIn) { + if (awaitAt !== null) this.unexpected(awaitAt); + } else { + node.await = awaitAt !== null; + } + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(Errors.ForInOfLoopInitializer, { + at: init, + type: isForIn ? "ForInStatement" : "ForOfStatement" + }); + } + if (init.type === "AssignmentPattern") { + this.raise(Errors.InvalidLhs, { + at: init, + ancestor: { + type: "ForStatement" + } + }); + } + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + parseVar(node, isFor, kind, allowMissingInitializer = false) { + const declarations = node.declarations = []; + node.kind = kind; + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + if (decl.init === null && !allowMissingInitializer) { + if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(102)))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "destructuring" + }); + } else if (kind === "const" && !(this.match(58) || this.isContextual(102))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "const" + }); + } + } + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(12)) break; + } + return node; + } + parseVarId(decl, kind) { + const id = this.parseBindingAtom(); + this.checkLVal(id, { + in: { + type: "VariableDeclarator" + }, + binding: kind === "var" ? 5 : 8201 + }); + decl.id = id; + } + parseAsyncFunctionExpression(node) { + return this.parseFunction(node, 8); + } + parseFunction(node, flags = 0) { + const hangingDeclaration = flags & 2; + const isDeclaration = !!(flags & 1); + const requireId = isDeclaration && !(flags & 4); + const isAsync = !!(flags & 8); + this.initFunction(node, isAsync); + if (this.match(55)) { + if (hangingDeclaration) { + this.raise(Errors.GeneratorInSingleStatementContext, { + at: this.state.startLoc + }); + } + this.next(); + node.generator = true; + } + if (isDeclaration) { + node.id = this.parseFunctionId(requireId); + } + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(2); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + if (!isDeclaration) { + node.id = this.parseFunctionId(); + } + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isDeclaration ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + if (isDeclaration && !hangingDeclaration) { + this.registerFunctionStatementId(node); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + parseFunctionId(requireId) { + return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null; + } + parseFunctionParams(node, isConstructor) { + this.expect(10); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(11, 41, 2 | (isConstructor ? 4 : 0)); + this.expressionScope.exit(); + } + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? 5 : 8201 : 17, node.id.loc.start); + } + parseClass(node, isStatement, optionalId) { + this.next(); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + isClassProperty() { + return this.match(29) || this.match(13) || this.match(8); + } + isClassMethod() { + return this.match(10); + } + isNonstaticConstructor(method) { + return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); + } + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(5); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(8)) { + if (this.eat(13)) { + if (decorators.length > 0) { + throw this.raise(Errors.DecoratorSemicolon, { + at: this.state.lastTokEndLoc + }); + } + continue; + } + if (this.match(26)) { + decorators.push(this.parseDecorator()); + continue; + } + const member = this.startNode(); + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + this.parseClassMember(classBody, member, state); + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(Errors.DecoratorConstructor, { + at: member + }); + } + } + }); + this.state.strict = oldStrict; + this.next(); + if (decorators.length) { + throw this.raise(Errors.TrailingDecorator, { + at: this.state.startLoc + }); + } + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + this.resetPreviousNodeTrailingComments(key); + return false; + } + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual(106); + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + if (this.eat(5)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const accessorProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + this.parsePropertyNamePrefixOperator(member); + if (this.eat(55)) { + method.kind = "method"; + const isPrivateName = this.match(138); + this.parseClassElementName(method); + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsGenerator, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + const isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc; + const isPrivate = this.match(138); + const key = this.parseClassElementName(member); + const maybeQuestionTokenStartLoc = this.state.startLoc; + this.parsePostMemberNameModifiers(publicMember); + if (this.isClassMethod()) { + method.kind = "method"; + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + if (isConstructor) { + publicMethod.kind = "constructor"; + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(Errors.DuplicateConstructor, { + at: key + }); + } + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(Errors.OverrideOnConstructor, { + at: key + }); + } + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (isContextual && key.name === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(55); + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStartLoc); + } + method.kind = "method"; + const isPrivate = this.match(138); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAsync, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(55) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = key.name; + const isPrivate = this.match(138); + this.parseClassElementName(publicMethod); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAccessor, { + at: publicMethod.key + }); + } + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + this.checkGetterSetterParams(publicMethod); + } else if (isContextual && key.name === "accessor" && !this.isLineTerminator()) { + this.expectPlugin("decoratorAutoAccessors"); + this.resetPreviousNodeTrailingComments(key); + const isPrivate = this.match(138); + this.parseClassElementName(publicProp); + this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + parseClassElementName(member) { + const { + type, + value + } = this.state; + if ((type === 132 || type === 133) && member.static && value === "prototype") { + this.raise(Errors.StaticPrototype, { + at: this.state.startLoc + }); + } + if (type === 138) { + if (value === "constructor") { + this.raise(Errors.ConstructorClassPrivateField, { + at: this.state.startLoc + }); + } + const key = this.parsePrivateName(); + member.key = key; + return key; + } + return this.parsePropertyName(member); + } + parseClassStaticBlock(classBody, member) { + var _member$decorators; + this.scope.enter(64 | 128 | 16); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(PARAM); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 8); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(Errors.DecoratorStaticBlock, { + at: member + }); + } + } + pushClassProperty(classBody, prop) { + if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { + this.raise(Errors.ConstructorClassField, { + at: prop.key + }); + } + classBody.body.push(this.parseClassProperty(prop)); + } + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + pushClassAccessorProperty(classBody, prop, isPrivate) { + if (!isPrivate && !prop.computed) { + const key = prop.key; + if (key.name === "constructor" || key.value === "constructor") { + this.raise(Errors.ConstructorClassField, { + at: key + }); + } + } + const node = this.parseClassAccessorProperty(prop); + classBody.body.push(node); + if (isPrivate) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? 6 : 2 : node.kind === "set" ? node.static ? 5 : 1 : 0; + this.declareClassPrivateMethodInScope(node, kind); + } + declareClassPrivateMethodInScope(node, kind) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start); + } + parsePostMemberNameModifiers(methodOrProp) {} + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + parseClassAccessorProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassAccessorProperty"); + } + parseInitializer(node) { + this.scope.enter(64 | 16); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(PARAM); + node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + parseClassId(node, isStatement, optionalId, bindingType = 8331) { + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + if (isStatement) { + this.declareNameFromIdentifier(node.id, bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + throw this.raise(Errors.MissingClassName, { + at: this.state.startLoc + }); + } + } + } + parseClassSuper(node) { + node.superClass = this.eat(81) ? this.parseExprSubscripts() : null; + } + parseExport(node, decorators) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, true); + const hasDefault = this.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + const parseAfterDefault = !hasDefault || this.eat(12); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12)); + const isFromRequired = hasDefault || hasStar; + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.parseExportFrom(node, true); + return this.finishNode(node, "ExportAllDeclaration"); + } + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) { + this.unexpected(null, 5); + } + if (hasNamespace && parseAfterNamespace) { + this.unexpected(null, 98); + } + let hasDeclaration; + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + if (isFromRequired || hasSpecifiers || hasDeclaration) { + var _node2$declaration; + const node2 = node; + this.checkExport(node2, true, false, !!node2.source); + if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, node2.declaration, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + return this.finishNode(node2, "ExportNamedDeclaration"); + } + if (this.eat(65)) { + const node2 = node; + const decl = this.parseExportDefaultExpression(); + node2.declaration = decl; + if (decl.type === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, decl, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + this.checkExport(node2, true, true); + return this.finishNode(node2, "ExportDefaultDeclaration"); + } + this.unexpected(null, 5); + } + eatExportStar(node) { + return this.eat(55); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier || this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom", maybeDefaultIdentifier == null ? void 0 : maybeDefaultIdentifier.loc.start); + const id = maybeDefaultIdentifier || this.parseIdentifier(true); + const specifier = this.startNodeAtNode(id); + specifier.exported = id; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual(93)) { + if (!node.specifiers) node.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + return false; + } + maybeParseExportNamedSpecifiers(node) { + if (this.match(5)) { + if (!node.specifiers) node.specifiers = []; + const isTypeExport = node.exportKind === "type"; + node.specifiers.push(...this.parseExportSpecifiers(isTypeExport)); + node.source = null; + node.declaration = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + return true; + } + return false; + } + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + node.declaration = this.parseExportDeclaration(node); + return true; + } + return false; + } + isAsyncFunction() { + if (!this.isContextual(95)) return false; + const next = this.nextTokenInLineStart(); + return this.isUnparsedContextual(next, "function"); + } + parseExportDefaultExpression() { + const expr = this.startNode(); + if (this.match(68)) { + this.next(); + return this.parseFunction(expr, 1 | 4); + } else if (this.isAsyncFunction()) { + this.next(); + this.next(); + return this.parseFunction(expr, 1 | 4 | 8); + } + if (this.match(80)) { + return this.parseClass(expr, true, true); + } + if (this.match(26)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true); + } + if (this.match(75) || this.match(74) || this.isLet()) { + throw this.raise(Errors.UnsupportedDefaultExport, { + at: this.state.startLoc + }); + } + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + parseExportDeclaration(node) { + if (this.match(80)) { + const node = this.parseClass(this.startNode(), true, false); + return node; + } + return this.parseStatementListItem(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsIdentifier(type)) { + if (type === 95 && !this.state.containsEsc || type === 100) { + return false; + } + if ((type === 130 || type === 129) && !this.state.containsEsc) { + const { + type: nextType + } = this.lookahead(); + if (tokenIsIdentifier(nextType) && nextType !== 98 || nextType === 5) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(65)) { + return false; + } + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) { + return true; + } + if (this.match(65) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + return false; + } + parseExportFrom(node, expect) { + if (this.eatContextual(98)) { + node.source = this.parseImportSource(); + this.checkExport(node); + this.maybeParseImportAttributes(node); + this.checkJSONModuleImport(node); + } else if (expect) { + this.unexpected(); + } + this.semicolon(); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 26) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + return true; + } + } + return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction(); + } + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + var _node$specifiers; + if (isDefault) { + this.checkDuplicateExports(node, "default"); + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + const declaration = node.declaration; + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(Errors.ExportDefaultFromAsIdentifier, { + at: declaration + }); + } + } + } else if ((_node$specifiers = node.specifiers) != null && _node$specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportName); + if (!isFrom && specifier.local) { + const { + local + } = specifier; + if (local.type !== "Identifier") { + this.raise(Errors.ExportBindingIsString, { + at: specifier, + localName: local.value, + exportName + }); + } else { + this.checkReservedWord(local.name, local.loc.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { + const id = node.declaration.id; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (node.declaration.type === "VariableDeclaration") { + for (const declaration of node.declaration.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + } + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + checkDuplicateExports(node, exportName) { + if (this.exportedIdentifiers.has(exportName)) { + if (exportName === "default") { + this.raise(Errors.DuplicateDefaultExport, { + at: node + }); + } else { + this.raise(Errors.DuplicateExport, { + at: node, + exportName + }); + } + } + this.exportedIdentifiers.add(exportName); + } + parseExportSpecifiers(isInTypeExport) { + const nodes = []; + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.eat(8)) break; + } + const isMaybeTypeOnly = this.isContextual(130); + const isString = this.match(133); + const node = this.startNode(); + node.local = this.parseModuleExportName(); + nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); + } + return nodes; + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = cloneStringLiteral(node.local); + } else if (!node.exported) { + node.exported = cloneIdentifier(node.local); + } + return this.finishNode(node, "ExportSpecifier"); + } + parseModuleExportName() { + if (this.match(133)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = result.value.match(loneSurrogate); + if (surrogate) { + this.raise(Errors.ModuleExportNameHasLoneSurrogate, { + at: result, + surrogateCharCode: surrogate[0].charCodeAt(0) + }); + } + return result; + } + return this.parseIdentifier(true); + } + isJSONModuleImport(node) { + if (node.assertions != null) { + return node.assertions.some(({ + key, + value + }) => { + return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type"); + }); + } + return false; + } + checkImportReflection(node) { + const { + specifiers + } = node; + const singleBindingType = specifiers.length === 1 ? specifiers[0].type : null; + if (node.phase === "source") { + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.SourcePhaseImportRequiresDefault, { + at: specifiers[0].loc.start + }); + } + } else if (node.phase === "defer") { + if (singleBindingType !== "ImportNamespaceSpecifier") { + this.raise(Errors.DeferImportRequiresNamespace, { + at: specifiers[0].loc.start + }); + } + } else if (node.module) { + var _node$assertions; + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.ImportReflectionNotBinding, { + at: specifiers[0].loc.start + }); + } + if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) { + this.raise(Errors.ImportReflectionHasAssertion, { + at: node.specifiers[0].loc.start + }); + } + } + } + checkJSONModuleImport(node) { + if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") { + const { + specifiers + } = node; + if (specifiers != null) { + const nonDefaultNamedSpecifier = specifiers.find(specifier => { + let imported; + if (specifier.type === "ExportSpecifier") { + imported = specifier.local; + } else if (specifier.type === "ImportSpecifier") { + imported = specifier.imported; + } + if (imported !== undefined) { + return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default"; + } + }); + if (nonDefaultNamedSpecifier !== undefined) { + this.raise(Errors.ImportJSONBindingNotDefault, { + at: nonDefaultNamedSpecifier.loc.start + }); + } + } + } + } + isPotentialImportPhase(isExport) { + if (isExport) return false; + return this.isContextual(105) || this.isContextual(97) || this.isContextual(127); + } + applyImportPhase(node, isExport, phase, loc) { + if (isExport) { + return; + } + if (phase === "module") { + this.expectPlugin("importReflection", loc); + node.module = true; + } else if (this.hasPlugin("importReflection")) { + node.module = false; + } + if (phase === "source") { + this.expectPlugin("sourcePhaseImports", loc); + node.phase = "source"; + } else if (phase === "defer") { + this.expectPlugin("deferredImportEvaluation", loc); + node.phase = "defer"; + } else if (this.hasPlugin("sourcePhaseImports")) { + node.phase = null; + } + } + parseMaybeImportPhase(node, isExport) { + if (!this.isPotentialImportPhase(isExport)) { + this.applyImportPhase(node, isExport, null); + return null; + } + const phaseIdentifier = this.parseIdentifier(true); + const { + type + } = this.state; + const isImportPhase = tokenIsKeywordOrIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + if (isImportPhase) { + this.resetPreviousIdentifierLeadingComments(phaseIdentifier); + this.applyImportPhase(node, isExport, phaseIdentifier.name, phaseIdentifier.loc.start); + return null; + } else { + this.applyImportPhase(node, isExport, null); + return phaseIdentifier; + } + } + isPrecedingIdImportPhase(phase) { + const { + type + } = this.state; + return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + } + parseImport(node) { + if (this.match(133)) { + return this.parseImportSourceAndAttributes(node); + } + return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false)); + } + parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier) { + node.specifiers = []; + const hasDefault = this.maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier); + const parseNext = !hasDefault || this.eat(12); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual(98); + return this.parseImportSourceAndAttributes(node); + } + parseImportSourceAndAttributes(node) { + var _node$specifiers2; + (_node$specifiers2 = node.specifiers) != null ? _node$specifiers2 : node.specifiers = []; + node.source = this.parseImportSource(); + this.maybeParseImportAttributes(node); + this.checkImportReflection(node); + this.checkJSONModuleImport(node); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + if (!this.match(133)) this.unexpected(); + return this.parseExprAtom(); + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + finishImportSpecifier(specifier, type, bindingType = 8201) { + this.checkLVal(specifier.local, { + in: { + type + }, + binding: bindingType + }); + return this.finishNode(specifier, type); + } + parseImportAttributes() { + this.expect(5); + const attrs = []; + const attrNames = new Set(); + do { + if (this.match(8)) { + break; + } + const node = this.startNode(); + const keyName = this.state.value; + if (attrNames.has(keyName)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: this.state.startLoc, + key: keyName + }); + } + attrNames.add(keyName); + if (this.match(133)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + this.expect(14); + if (!this.match(133)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + this.expect(8); + return attrs; + } + parseModuleAttributes() { + const attrs = []; + const attributes = new Set(); + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + if (node.key.name !== "type") { + this.raise(Errors.ModuleAttributeDifferentFromType, { + at: node.key + }); + } + if (attributes.has(node.key.name)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: node.key, + key: node.key.name + }); + } + attributes.add(node.key.name); + this.expect(14); + if (!this.match(133)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + return attrs; + } + maybeParseImportAttributes(node) { + let attributes; + let useWith = false; + if (this.match(76)) { + if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) { + return; + } + this.next(); + { + if (this.hasPlugin("moduleAttributes")) { + attributes = this.parseModuleAttributes(); + } else { + this.expectImportAttributesPlugin(); + attributes = this.parseImportAttributes(); + } + } + useWith = true; + } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { + if (this.hasPlugin("importAttributes")) { + if (this.getPluginOption("importAttributes", "deprecatedAssertSyntax") !== true) { + this.raise(Errors.ImportAttributesUseAssert, { + at: this.state.startLoc + }); + } + this.addExtra(node, "deprecatedAssertSyntax", true); + } else { + this.expectOnePlugin(["importAttributes", "importAssertions"]); + } + this.next(); + attributes = this.parseImportAttributes(); + } else if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { + attributes = []; + } else { + if (this.hasPlugin("moduleAttributes")) { + attributes = []; + } else return; + } + if (!useWith && this.hasPlugin("importAssertions")) { + node.assertions = attributes; + } else { + node.attributes = attributes; + } + } + maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier) { + const specifier = this.startNodeAtNode(maybeDefaultIdentifier); + specifier.local = maybeDefaultIdentifier; + node.specifiers.push(this.finishImportSpecifier(specifier, "ImportDefaultSpecifier")); + return true; + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier"); + return true; + } + return false; + } + maybeParseStarImportSpecifier(node) { + if (this.match(55)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual(93); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier"); + return true; + } + return false; + } + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + if (this.eat(14)) { + throw this.raise(Errors.DestructureNamedImport, { + at: this.state.startLoc + }); + } + this.expect(12); + if (this.eat(8)) break; + } + const specifier = this.startNode(); + const importedIsString = this.match(133); + const isMaybeTypeOnly = this.isContextual(130); + specifier.imported = this.parseModuleExportName(); + const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined); + node.specifiers.push(importSpecifier); + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: imported.value + }); + } + this.checkReservedWord(imported.name, specifier.loc.start, true, true); + if (!specifier.local) { + specifier.local = cloneIdentifier(imported); + } + } + return this.finishImportSpecifier(specifier, "ImportSpecifier", bindingType); + } + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } +} +class Parser extends StatementParser { + constructor(options, input) { + options = getOptions(options); + super(options, input); + this.options = options; + this.initializeScopes(); + this.plugins = pluginsMap(this.options.plugins); + this.filename = options.sourceFilename; + } + getScopeHandler() { + return ScopeHandler; + } + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + this.parseTopLevel(file, program); + file.errors = this.state.errors; + return file; + } +} +function pluginsMap(plugins) { + const pluginMap = new Map(); + for (const plugin of plugins) { + const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; + if (!pluginMap.has(name)) pluginMap.set(name, options || {}); + } + return pluginMap; +} +function parse(input, options) { + var _options; + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + if (parser.sawUnambiguousESM) { + return ast; + } + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + if (parser.options.strictMode) { + parser.state.strict = true; + } + return parser.getExpression(); +} +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + return tokenTypes; +} +const tokTypes = generateExportedTokenTypes(tt); +function getParser(options, input) { + let cls = Parser; + if (options != null && options.plugins) { + validatePlugins(options.plugins); + cls = getParserClass(options.plugins); + } + return new cls(options, input); +} +const parserClassCache = {}; +function getParserClass(pluginsFromOptions) { + const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name)); + const key = pluginList.join("/"); + let cls = parserClassCache[key]; + if (!cls) { + cls = Parser; + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + parserClassCache[key] = cls; + } + return cls; +} +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/@babel/parser/package.json b/.output/server/node_modules/@babel/parser/package.json new file mode 100644 index 0000000000..768f887baf --- /dev/null +++ b/.output/server/node_modules/@babel/parser/package.json @@ -0,0 +1,46 @@ +{ + "name": "@babel/parser", + "version": "7.23.0", + "description": "A JavaScript parser", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-parser", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "javascript", + "parser", + "tc39", + "ecmascript", + "@babel/parser" + ], + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-parser" + }, + "main": "./lib/index.js", + "types": "./typings/babel-parser.d.ts", + "files": [ + "bin", + "lib", + "typings/babel-parser.d.ts", + "index.cjs" + ], + "engines": { + "node": ">=6.0.0" + }, + "devDependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/helper-check-duplicate-nodes": "^7.22.5", + "@babel/helper-fixtures": "^7.22.19", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "charcodes": "^0.2.0" + }, + "bin": "./bin/babel-parser.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.output/server/node_modules/@iconify/vue/dist/iconify.mjs b/.output/server/node_modules/@iconify/vue/dist/iconify.mjs new file mode 100644 index 0000000000..26fc453628 --- /dev/null +++ b/.output/server/node_modules/@iconify/vue/dist/iconify.mjs @@ -0,0 +1,1960 @@ +import { h, defineComponent } from 'vue'; + +const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/; +const stringToIcon = (value, validate, allowSimpleName, provider = "") => { + const colonSeparated = value.split(":"); + if (value.slice(0, 1) === "@") { + if (colonSeparated.length < 2 || colonSeparated.length > 3) { + return null; + } + provider = colonSeparated.shift().slice(1); + } + if (colonSeparated.length > 3 || !colonSeparated.length) { + return null; + } + if (colonSeparated.length > 1) { + const name2 = colonSeparated.pop(); + const prefix = colonSeparated.pop(); + const result = { + // Allow provider without '@': "provider:prefix:name" + provider: colonSeparated.length > 0 ? colonSeparated[0] : provider, + prefix, + name: name2 + }; + return validate && !validateIconName(result) ? null : result; + } + const name = colonSeparated[0]; + const dashSeparated = name.split("-"); + if (dashSeparated.length > 1) { + const result = { + provider, + prefix: dashSeparated.shift(), + name: dashSeparated.join("-") + }; + return validate && !validateIconName(result) ? null : result; + } + if (allowSimpleName && provider === "") { + const result = { + provider, + prefix: "", + name + }; + return validate && !validateIconName(result, allowSimpleName) ? null : result; + } + return null; +}; +const validateIconName = (icon, allowSimpleName) => { + if (!icon) { + return false; + } + return !!((icon.provider === "" || icon.provider.match(matchIconName)) && (allowSimpleName && icon.prefix === "" || icon.prefix.match(matchIconName)) && icon.name.match(matchIconName)); +}; + +const defaultIconDimensions = Object.freeze( + { + left: 0, + top: 0, + width: 16, + height: 16 + } +); +const defaultIconTransformations = Object.freeze({ + rotate: 0, + vFlip: false, + hFlip: false +}); +const defaultIconProps = Object.freeze({ + ...defaultIconDimensions, + ...defaultIconTransformations +}); +const defaultExtendedIconProps = Object.freeze({ + ...defaultIconProps, + body: "", + hidden: false +}); + +function mergeIconTransformations(obj1, obj2) { + const result = {}; + if (!obj1.hFlip !== !obj2.hFlip) { + result.hFlip = true; + } + if (!obj1.vFlip !== !obj2.vFlip) { + result.vFlip = true; + } + const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4; + if (rotate) { + result.rotate = rotate; + } + return result; +} + +function mergeIconData(parent, child) { + const result = mergeIconTransformations(parent, child); + for (const key in defaultExtendedIconProps) { + if (key in defaultIconTransformations) { + if (key in parent && !(key in result)) { + result[key] = defaultIconTransformations[key]; + } + } else if (key in child) { + result[key] = child[key]; + } else if (key in parent) { + result[key] = parent[key]; + } + } + return result; +} + +function getIconsTree(data, names) { + const icons = data.icons; + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + const resolved = /* @__PURE__ */ Object.create(null); + function resolve(name) { + if (icons[name]) { + return resolved[name] = []; + } + if (!(name in resolved)) { + resolved[name] = null; + const parent = aliases[name] && aliases[name].parent; + const value = parent && resolve(parent); + if (value) { + resolved[name] = [parent].concat(value); + } + } + return resolved[name]; + } + (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve); + return resolved; +} + +function internalGetIconData(data, name, tree) { + const icons = data.icons; + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + let currentProps = {}; + function parse(name2) { + currentProps = mergeIconData( + icons[name2] || aliases[name2], + currentProps + ); + } + parse(name); + tree.forEach(parse); + return mergeIconData(data, currentProps); +} + +function parseIconSet(data, callback) { + const names = []; + if (typeof data !== "object" || typeof data.icons !== "object") { + return names; + } + if (data.not_found instanceof Array) { + data.not_found.forEach((name) => { + callback(name, null); + names.push(name); + }); + } + const tree = getIconsTree(data); + for (const name in tree) { + const item = tree[name]; + if (item) { + callback(name, internalGetIconData(data, name, item)); + names.push(name); + } + } + return names; +} + +const optionalPropertyDefaults = { + provider: "", + aliases: {}, + not_found: {}, + ...defaultIconDimensions +}; +function checkOptionalProps(item, defaults) { + for (const prop in defaults) { + if (prop in item && typeof item[prop] !== typeof defaults[prop]) { + return false; + } + } + return true; +} +function quicklyValidateIconSet(obj) { + if (typeof obj !== "object" || obj === null) { + return null; + } + const data = obj; + if (typeof data.prefix !== "string" || !obj.icons || typeof obj.icons !== "object") { + return null; + } + if (!checkOptionalProps(obj, optionalPropertyDefaults)) { + return null; + } + const icons = data.icons; + for (const name in icons) { + const icon = icons[name]; + if (!name.match(matchIconName) || typeof icon.body !== "string" || !checkOptionalProps( + icon, + defaultExtendedIconProps + )) { + return null; + } + } + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + for (const name in aliases) { + const icon = aliases[name]; + const parent = icon.parent; + if (!name.match(matchIconName) || typeof parent !== "string" || !icons[parent] && !aliases[parent] || !checkOptionalProps( + icon, + defaultExtendedIconProps + )) { + return null; + } + } + return data; +} + +const dataStorage = /* @__PURE__ */ Object.create(null); +function newStorage(provider, prefix) { + return { + provider, + prefix, + icons: /* @__PURE__ */ Object.create(null), + missing: /* @__PURE__ */ new Set() + }; +} +function getStorage(provider, prefix) { + const providerStorage = dataStorage[provider] || (dataStorage[provider] = /* @__PURE__ */ Object.create(null)); + return providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix)); +} +function addIconSet(storage, data) { + if (!quicklyValidateIconSet(data)) { + return []; + } + return parseIconSet(data, (name, icon) => { + if (icon) { + storage.icons[name] = icon; + } else { + storage.missing.add(name); + } + }); +} +function addIconToStorage(storage, name, icon) { + try { + if (typeof icon.body === "string") { + storage.icons[name] = { ...icon }; + return true; + } + } catch (err) { + } + return false; +} +function listIcons(provider, prefix) { + let allIcons = []; + const providers = typeof provider === "string" ? [provider] : Object.keys(dataStorage); + providers.forEach((provider2) => { + const prefixes = typeof provider2 === "string" && typeof prefix === "string" ? [prefix] : Object.keys(dataStorage[provider2] || {}); + prefixes.forEach((prefix2) => { + const storage = getStorage(provider2, prefix2); + allIcons = allIcons.concat( + Object.keys(storage.icons).map( + (name) => (provider2 !== "" ? "@" + provider2 + ":" : "") + prefix2 + ":" + name + ) + ); + }); + }); + return allIcons; +} + +let simpleNames = false; +function allowSimpleNames(allow) { + if (typeof allow === "boolean") { + simpleNames = allow; + } + return simpleNames; +} +function getIconData(name) { + const icon = typeof name === "string" ? stringToIcon(name, true, simpleNames) : name; + if (icon) { + const storage = getStorage(icon.provider, icon.prefix); + const iconName = icon.name; + return storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0); + } +} +function addIcon(name, data) { + const icon = stringToIcon(name, true, simpleNames); + if (!icon) { + return false; + } + const storage = getStorage(icon.provider, icon.prefix); + return addIconToStorage(storage, icon.name, data); +} +function addCollection(data, provider) { + if (typeof data !== "object") { + return false; + } + if (typeof provider !== "string") { + provider = data.provider || ""; + } + if (simpleNames && !provider && !data.prefix) { + let added = false; + if (quicklyValidateIconSet(data)) { + data.prefix = ""; + parseIconSet(data, (name, icon) => { + if (icon && addIcon(name, icon)) { + added = true; + } + }); + } + return added; + } + const prefix = data.prefix; + if (!validateIconName({ + provider, + prefix, + name: "a" + })) { + return false; + } + const storage = getStorage(provider, prefix); + return !!addIconSet(storage, data); +} +function iconExists(name) { + return !!getIconData(name); +} +function getIcon(name) { + const result = getIconData(name); + return result ? { + ...defaultIconProps, + ...result + } : null; +} + +const defaultIconSizeCustomisations = Object.freeze({ + width: null, + height: null +}); +const defaultIconCustomisations = Object.freeze({ + // Dimensions + ...defaultIconSizeCustomisations, + // Transformations + ...defaultIconTransformations +}); + +const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g; +const unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g; +function calculateSize(size, ratio, precision) { + if (ratio === 1) { + return size; + } + precision = precision || 100; + if (typeof size === "number") { + return Math.ceil(size * ratio * precision) / precision; + } + if (typeof size !== "string") { + return size; + } + const oldParts = size.split(unitsSplit); + if (oldParts === null || !oldParts.length) { + return size; + } + const newParts = []; + let code = oldParts.shift(); + let isNumber = unitsTest.test(code); + while (true) { + if (isNumber) { + const num = parseFloat(code); + if (isNaN(num)) { + newParts.push(code); + } else { + newParts.push(Math.ceil(num * ratio * precision) / precision); + } + } else { + newParts.push(code); + } + code = oldParts.shift(); + if (code === void 0) { + return newParts.join(""); + } + isNumber = !isNumber; + } +} + +const isUnsetKeyword = (value) => value === "unset" || value === "undefined" || value === "none"; +function iconToSVG(icon, customisations) { + const fullIcon = { + ...defaultIconProps, + ...icon + }; + const fullCustomisations = { + ...defaultIconCustomisations, + ...customisations + }; + const box = { + left: fullIcon.left, + top: fullIcon.top, + width: fullIcon.width, + height: fullIcon.height + }; + let body = fullIcon.body; + [fullIcon, fullCustomisations].forEach((props) => { + const transformations = []; + const hFlip = props.hFlip; + const vFlip = props.vFlip; + let rotation = props.rotate; + if (hFlip) { + if (vFlip) { + rotation += 2; + } else { + transformations.push( + "translate(" + (box.width + box.left).toString() + " " + (0 - box.top).toString() + ")" + ); + transformations.push("scale(-1 1)"); + box.top = box.left = 0; + } + } else if (vFlip) { + transformations.push( + "translate(" + (0 - box.left).toString() + " " + (box.height + box.top).toString() + ")" + ); + transformations.push("scale(1 -1)"); + box.top = box.left = 0; + } + let tempValue; + if (rotation < 0) { + rotation -= Math.floor(rotation / 4) * 4; + } + rotation = rotation % 4; + switch (rotation) { + case 1: + tempValue = box.height / 2 + box.top; + transformations.unshift( + "rotate(90 " + tempValue.toString() + " " + tempValue.toString() + ")" + ); + break; + case 2: + transformations.unshift( + "rotate(180 " + (box.width / 2 + box.left).toString() + " " + (box.height / 2 + box.top).toString() + ")" + ); + break; + case 3: + tempValue = box.width / 2 + box.left; + transformations.unshift( + "rotate(-90 " + tempValue.toString() + " " + tempValue.toString() + ")" + ); + break; + } + if (rotation % 2 === 1) { + if (box.left !== box.top) { + tempValue = box.left; + box.left = box.top; + box.top = tempValue; + } + if (box.width !== box.height) { + tempValue = box.width; + box.width = box.height; + box.height = tempValue; + } + } + if (transformations.length) { + body = '' + body + ""; + } + }); + const customisationsWidth = fullCustomisations.width; + const customisationsHeight = fullCustomisations.height; + const boxWidth = box.width; + const boxHeight = box.height; + let width; + let height; + if (customisationsWidth === null) { + height = customisationsHeight === null ? "1em" : customisationsHeight === "auto" ? boxHeight : customisationsHeight; + width = calculateSize(height, boxWidth / boxHeight); + } else { + width = customisationsWidth === "auto" ? boxWidth : customisationsWidth; + height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === "auto" ? boxHeight : customisationsHeight; + } + const attributes = {}; + const setAttr = (prop, value) => { + if (!isUnsetKeyword(value)) { + attributes[prop] = value.toString(); + } + }; + setAttr("width", width); + setAttr("height", height); + attributes.viewBox = box.left.toString() + " " + box.top.toString() + " " + boxWidth.toString() + " " + boxHeight.toString(); + return { + attributes, + body + }; +} + +const regex = /\sid="(\S+)"/g; +const randomPrefix = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16); +let counter = 0; +function replaceIDs(body, prefix = randomPrefix) { + const ids = []; + let match; + while (match = regex.exec(body)) { + ids.push(match[1]); + } + if (!ids.length) { + return body; + } + const suffix = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16); + ids.forEach((id) => { + const newID = typeof prefix === "function" ? prefix(id) : prefix + (counter++).toString(); + const escapedID = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + body = body.replace( + // Allowed characters before id: [#;"] + // Allowed characters after id: [)"], .[a-z] + new RegExp('([#;"])(' + escapedID + ')([")]|\\.[a-z])', "g"), + "$1" + newID + suffix + "$3" + ); + }); + body = body.replace(new RegExp(suffix, "g"), ""); + return body; +} + +const storage = /* @__PURE__ */ Object.create(null); +function setAPIModule(provider, item) { + storage[provider] = item; +} +function getAPIModule(provider) { + return storage[provider] || storage[""]; +} + +function createAPIConfig(source) { + let resources; + if (typeof source.resources === "string") { + resources = [source.resources]; + } else { + resources = source.resources; + if (!(resources instanceof Array) || !resources.length) { + return null; + } + } + const result = { + // API hosts + resources, + // Root path + path: source.path || "/", + // URL length limit + maxURL: source.maxURL || 500, + // Timeout before next host is used. + rotate: source.rotate || 750, + // Timeout before failing query. + timeout: source.timeout || 5e3, + // Randomise default API end point. + random: source.random === true, + // Start index + index: source.index || 0, + // Receive data after time out (used if time out kicks in first, then API module sends data anyway). + dataAfterTimeout: source.dataAfterTimeout !== false + }; + return result; +} +const configStorage = /* @__PURE__ */ Object.create(null); +const fallBackAPISources = [ + "https://api.simplesvg.com", + "https://api.unisvg.com" +]; +const fallBackAPI = []; +while (fallBackAPISources.length > 0) { + if (fallBackAPISources.length === 1) { + fallBackAPI.push(fallBackAPISources.shift()); + } else { + if (Math.random() > 0.5) { + fallBackAPI.push(fallBackAPISources.shift()); + } else { + fallBackAPI.push(fallBackAPISources.pop()); + } + } +} +configStorage[""] = createAPIConfig({ + resources: ["https://api.iconify.design"].concat(fallBackAPI) +}); +function addAPIProvider(provider, customConfig) { + const config = createAPIConfig(customConfig); + if (config === null) { + return false; + } + configStorage[provider] = config; + return true; +} +function getAPIConfig(provider) { + return configStorage[provider]; +} +function listAPIProviders() { + return Object.keys(configStorage); +} + +const detectFetch = () => { + let callback; + try { + callback = fetch; + if (typeof callback === "function") { + return callback; + } + } catch (err) { + } +}; +let fetchModule = detectFetch(); +function setFetch(fetch2) { + fetchModule = fetch2; +} +function getFetch() { + return fetchModule; +} +function calculateMaxLength(provider, prefix) { + const config = getAPIConfig(provider); + if (!config) { + return 0; + } + let result; + if (!config.maxURL) { + result = 0; + } else { + let maxHostLength = 0; + config.resources.forEach((item) => { + const host = item; + maxHostLength = Math.max(maxHostLength, host.length); + }); + const url = prefix + ".json?icons="; + result = config.maxURL - maxHostLength - config.path.length - url.length; + } + return result; +} +function shouldAbort(status) { + return status === 404; +} +const prepare = (provider, prefix, icons) => { + const results = []; + const maxLength = calculateMaxLength(provider, prefix); + const type = "icons"; + let item = { + type, + provider, + prefix, + icons: [] + }; + let length = 0; + icons.forEach((name, index) => { + length += name.length + 1; + if (length >= maxLength && index > 0) { + results.push(item); + item = { + type, + provider, + prefix, + icons: [] + }; + length = name.length; + } + item.icons.push(name); + }); + results.push(item); + return results; +}; +function getPath(provider) { + if (typeof provider === "string") { + const config = getAPIConfig(provider); + if (config) { + return config.path; + } + } + return "/"; +} +const send = (host, params, callback) => { + if (!fetchModule) { + callback("abort", 424); + return; + } + let path = getPath(params.provider); + switch (params.type) { + case "icons": { + const prefix = params.prefix; + const icons = params.icons; + const iconsList = icons.join(","); + const urlParams = new URLSearchParams({ + icons: iconsList + }); + path += prefix + ".json?" + urlParams.toString(); + break; + } + case "custom": { + const uri = params.uri; + path += uri.slice(0, 1) === "/" ? uri.slice(1) : uri; + break; + } + default: + callback("abort", 400); + return; + } + let defaultError = 503; + fetchModule(host + path).then((response) => { + const status = response.status; + if (status !== 200) { + setTimeout(() => { + callback(shouldAbort(status) ? "abort" : "next", status); + }); + return; + } + defaultError = 501; + return response.json(); + }).then((data) => { + if (typeof data !== "object" || data === null) { + setTimeout(() => { + if (data === 404) { + callback("abort", data); + } else { + callback("next", defaultError); + } + }); + return; + } + setTimeout(() => { + callback("success", data); + }); + }).catch(() => { + callback("next", defaultError); + }); +}; +const fetchAPIModule = { + prepare, + send +}; + +function sortIcons(icons) { + const result = { + loaded: [], + missing: [], + pending: [] + }; + const storage = /* @__PURE__ */ Object.create(null); + icons.sort((a, b) => { + if (a.provider !== b.provider) { + return a.provider.localeCompare(b.provider); + } + if (a.prefix !== b.prefix) { + return a.prefix.localeCompare(b.prefix); + } + return a.name.localeCompare(b.name); + }); + let lastIcon = { + provider: "", + prefix: "", + name: "" + }; + icons.forEach((icon) => { + if (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) { + return; + } + lastIcon = icon; + const provider = icon.provider; + const prefix = icon.prefix; + const name = icon.name; + const providerStorage = storage[provider] || (storage[provider] = /* @__PURE__ */ Object.create(null)); + const localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix)); + let list; + if (name in localStorage.icons) { + list = result.loaded; + } else if (prefix === "" || localStorage.missing.has(name)) { + list = result.missing; + } else { + list = result.pending; + } + const item = { + provider, + prefix, + name + }; + list.push(item); + }); + return result; +} + +function removeCallback(storages, id) { + storages.forEach((storage) => { + const items = storage.loaderCallbacks; + if (items) { + storage.loaderCallbacks = items.filter((row) => row.id !== id); + } + }); +} +function updateCallbacks(storage) { + if (!storage.pendingCallbacksFlag) { + storage.pendingCallbacksFlag = true; + setTimeout(() => { + storage.pendingCallbacksFlag = false; + const items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : []; + if (!items.length) { + return; + } + let hasPending = false; + const provider = storage.provider; + const prefix = storage.prefix; + items.forEach((item) => { + const icons = item.icons; + const oldLength = icons.pending.length; + icons.pending = icons.pending.filter((icon) => { + if (icon.prefix !== prefix) { + return true; + } + const name = icon.name; + if (storage.icons[name]) { + icons.loaded.push({ + provider, + prefix, + name + }); + } else if (storage.missing.has(name)) { + icons.missing.push({ + provider, + prefix, + name + }); + } else { + hasPending = true; + return true; + } + return false; + }); + if (icons.pending.length !== oldLength) { + if (!hasPending) { + removeCallback([storage], item.id); + } + item.callback( + icons.loaded.slice(0), + icons.missing.slice(0), + icons.pending.slice(0), + item.abort + ); + } + }); + }); + } +} +let idCounter = 0; +function storeCallback(callback, icons, pendingSources) { + const id = idCounter++; + const abort = removeCallback.bind(null, pendingSources, id); + if (!icons.pending.length) { + return abort; + } + const item = { + id, + icons, + callback, + abort + }; + pendingSources.forEach((storage) => { + (storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item); + }); + return abort; +} + +function listToIcons(list, validate = true, simpleNames = false) { + const result = []; + list.forEach((item) => { + const icon = typeof item === "string" ? stringToIcon(item, validate, simpleNames) : item; + if (icon) { + result.push(icon); + } + }); + return result; +} + +// src/config.ts +var defaultConfig = { + resources: [], + index: 0, + timeout: 2e3, + rotate: 750, + random: false, + dataAfterTimeout: false +}; + +// src/query.ts +function sendQuery(config, payload, query, done) { + const resourcesCount = config.resources.length; + const startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index; + let resources; + if (config.random) { + let list = config.resources.slice(0); + resources = []; + while (list.length > 1) { + const nextIndex = Math.floor(Math.random() * list.length); + resources.push(list[nextIndex]); + list = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1)); + } + resources = resources.concat(list); + } else { + resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex)); + } + const startTime = Date.now(); + let status = "pending"; + let queriesSent = 0; + let lastError; + let timer = null; + let queue = []; + let doneCallbacks = []; + if (typeof done === "function") { + doneCallbacks.push(done); + } + function resetTimer() { + if (timer) { + clearTimeout(timer); + timer = null; + } + } + function abort() { + if (status === "pending") { + status = "aborted"; + } + resetTimer(); + queue.forEach((item) => { + if (item.status === "pending") { + item.status = "aborted"; + } + }); + queue = []; + } + function subscribe(callback, overwrite) { + if (overwrite) { + doneCallbacks = []; + } + if (typeof callback === "function") { + doneCallbacks.push(callback); + } + } + function getQueryStatus() { + return { + startTime, + payload, + status, + queriesSent, + queriesPending: queue.length, + subscribe, + abort + }; + } + function failQuery() { + status = "failed"; + doneCallbacks.forEach((callback) => { + callback(void 0, lastError); + }); + } + function clearQueue() { + queue.forEach((item) => { + if (item.status === "pending") { + item.status = "aborted"; + } + }); + queue = []; + } + function moduleResponse(item, response, data) { + const isError = response !== "success"; + queue = queue.filter((queued) => queued !== item); + switch (status) { + case "pending": + break; + case "failed": + if (isError || !config.dataAfterTimeout) { + return; + } + break; + default: + return; + } + if (response === "abort") { + lastError = data; + failQuery(); + return; + } + if (isError) { + lastError = data; + if (!queue.length) { + if (!resources.length) { + failQuery(); + } else { + execNext(); + } + } + return; + } + resetTimer(); + clearQueue(); + if (!config.random) { + const index = config.resources.indexOf(item.resource); + if (index !== -1 && index !== config.index) { + config.index = index; + } + } + status = "completed"; + doneCallbacks.forEach((callback) => { + callback(data); + }); + } + function execNext() { + if (status !== "pending") { + return; + } + resetTimer(); + const resource = resources.shift(); + if (resource === void 0) { + if (queue.length) { + timer = setTimeout(() => { + resetTimer(); + if (status === "pending") { + clearQueue(); + failQuery(); + } + }, config.timeout); + return; + } + failQuery(); + return; + } + const item = { + status: "pending", + resource, + callback: (status2, data) => { + moduleResponse(item, status2, data); + } + }; + queue.push(item); + queriesSent++; + timer = setTimeout(execNext, config.rotate); + query(resource, payload, item.callback); + } + setTimeout(execNext); + return getQueryStatus; +} + +// src/index.ts +function initRedundancy(cfg) { + const config = { + ...defaultConfig, + ...cfg + }; + let queries = []; + function cleanup() { + queries = queries.filter((item) => item().status === "pending"); + } + function query(payload, queryCallback, doneCallback) { + const query2 = sendQuery( + config, + payload, + queryCallback, + (data, error) => { + cleanup(); + if (doneCallback) { + doneCallback(data, error); + } + } + ); + queries.push(query2); + return query2; + } + function find(callback) { + return queries.find((value) => { + return callback(value); + }) || null; + } + const instance = { + query, + find, + setIndex: (index) => { + config.index = index; + }, + getIndex: () => config.index, + cleanup + }; + return instance; +} + +function emptyCallback$1() { +} +const redundancyCache = /* @__PURE__ */ Object.create(null); +function getRedundancyCache(provider) { + if (!redundancyCache[provider]) { + const config = getAPIConfig(provider); + if (!config) { + return; + } + const redundancy = initRedundancy(config); + const cachedReundancy = { + config, + redundancy + }; + redundancyCache[provider] = cachedReundancy; + } + return redundancyCache[provider]; +} +function sendAPIQuery(target, query, callback) { + let redundancy; + let send; + if (typeof target === "string") { + const api = getAPIModule(target); + if (!api) { + callback(void 0, 424); + return emptyCallback$1; + } + send = api.send; + const cached = getRedundancyCache(target); + if (cached) { + redundancy = cached.redundancy; + } + } else { + const config = createAPIConfig(target); + if (config) { + redundancy = initRedundancy(config); + const moduleKey = target.resources ? target.resources[0] : ""; + const api = getAPIModule(moduleKey); + if (api) { + send = api.send; + } + } + } + if (!redundancy || !send) { + callback(void 0, 424); + return emptyCallback$1; + } + return redundancy.query(query, send, callback)().abort; +} + +const browserCacheVersion = "iconify2"; +const browserCachePrefix = "iconify"; +const browserCacheCountKey = browserCachePrefix + "-count"; +const browserCacheVersionKey = browserCachePrefix + "-version"; +const browserStorageHour = 36e5; +const browserStorageCacheExpiration = 168; + +function getStoredItem(func, key) { + try { + return func.getItem(key); + } catch (err) { + } +} +function setStoredItem(func, key, value) { + try { + func.setItem(key, value); + return true; + } catch (err) { + } +} +function removeStoredItem(func, key) { + try { + func.removeItem(key); + } catch (err) { + } +} + +function setBrowserStorageItemsCount(storage, value) { + return setStoredItem(storage, browserCacheCountKey, value.toString()); +} +function getBrowserStorageItemsCount(storage) { + return parseInt(getStoredItem(storage, browserCacheCountKey)) || 0; +} + +const browserStorageConfig = { + local: true, + session: true +}; +const browserStorageEmptyItems = { + local: /* @__PURE__ */ new Set(), + session: /* @__PURE__ */ new Set() +}; +let browserStorageStatus = false; +function setBrowserStorageStatus(status) { + browserStorageStatus = status; +} + +let _window = typeof window === "undefined" ? {} : window; +function getBrowserStorage(key) { + const attr = key + "Storage"; + try { + if (_window && _window[attr] && typeof _window[attr].length === "number") { + return _window[attr]; + } + } catch (err) { + } + browserStorageConfig[key] = false; +} + +function iterateBrowserStorage(key, callback) { + const func = getBrowserStorage(key); + if (!func) { + return; + } + const version = getStoredItem(func, browserCacheVersionKey); + if (version !== browserCacheVersion) { + if (version) { + const total2 = getBrowserStorageItemsCount(func); + for (let i = 0; i < total2; i++) { + removeStoredItem(func, browserCachePrefix + i.toString()); + } + } + setStoredItem(func, browserCacheVersionKey, browserCacheVersion); + setBrowserStorageItemsCount(func, 0); + return; + } + const minTime = Math.floor(Date.now() / browserStorageHour) - browserStorageCacheExpiration; + const parseItem = (index) => { + const name = browserCachePrefix + index.toString(); + const item = getStoredItem(func, name); + if (typeof item !== "string") { + return; + } + try { + const data = JSON.parse(item); + if (typeof data === "object" && typeof data.cached === "number" && data.cached > minTime && typeof data.provider === "string" && typeof data.data === "object" && typeof data.data.prefix === "string" && // Valid item: run callback + callback(data, index)) { + return true; + } + } catch (err) { + } + removeStoredItem(func, name); + }; + let total = getBrowserStorageItemsCount(func); + for (let i = total - 1; i >= 0; i--) { + if (!parseItem(i)) { + if (i === total - 1) { + total--; + setBrowserStorageItemsCount(func, total); + } else { + browserStorageEmptyItems[key].add(i); + } + } + } +} + +function initBrowserStorage() { + if (browserStorageStatus) { + return; + } + setBrowserStorageStatus(true); + for (const key in browserStorageConfig) { + iterateBrowserStorage(key, (item) => { + const iconSet = item.data; + const provider = item.provider; + const prefix = iconSet.prefix; + const storage = getStorage( + provider, + prefix + ); + if (!addIconSet(storage, iconSet).length) { + return false; + } + const lastModified = iconSet.lastModified || -1; + storage.lastModifiedCached = storage.lastModifiedCached ? Math.min(storage.lastModifiedCached, lastModified) : lastModified; + return true; + }); + } +} + +function updateLastModified(storage, lastModified) { + const lastValue = storage.lastModifiedCached; + if ( + // Matches or newer + lastValue && lastValue >= lastModified + ) { + return lastValue === lastModified; + } + storage.lastModifiedCached = lastModified; + if (lastValue) { + for (const key in browserStorageConfig) { + iterateBrowserStorage(key, (item) => { + const iconSet = item.data; + return item.provider !== storage.provider || iconSet.prefix !== storage.prefix || iconSet.lastModified === lastModified; + }); + } + } + return true; +} +function storeInBrowserStorage(storage, data) { + if (!browserStorageStatus) { + initBrowserStorage(); + } + function store(key) { + let func; + if (!browserStorageConfig[key] || !(func = getBrowserStorage(key))) { + return; + } + const set = browserStorageEmptyItems[key]; + let index; + if (set.size) { + set.delete(index = Array.from(set).shift()); + } else { + index = getBrowserStorageItemsCount(func); + if (!setBrowserStorageItemsCount(func, index + 1)) { + return; + } + } + const item = { + cached: Math.floor(Date.now() / browserStorageHour), + provider: storage.provider, + data + }; + return setStoredItem( + func, + browserCachePrefix + index.toString(), + JSON.stringify(item) + ); + } + if (data.lastModified && !updateLastModified(storage, data.lastModified)) { + return; + } + if (!Object.keys(data.icons).length) { + return; + } + if (data.not_found) { + data = Object.assign({}, data); + delete data.not_found; + } + if (!store("local")) { + store("session"); + } +} + +function emptyCallback() { +} +function loadedNewIcons(storage) { + if (!storage.iconsLoaderFlag) { + storage.iconsLoaderFlag = true; + setTimeout(() => { + storage.iconsLoaderFlag = false; + updateCallbacks(storage); + }); + } +} +function loadNewIcons(storage, icons) { + if (!storage.iconsToLoad) { + storage.iconsToLoad = icons; + } else { + storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort(); + } + if (!storage.iconsQueueFlag) { + storage.iconsQueueFlag = true; + setTimeout(() => { + storage.iconsQueueFlag = false; + const { provider, prefix } = storage; + const icons2 = storage.iconsToLoad; + delete storage.iconsToLoad; + let api; + if (!icons2 || !(api = getAPIModule(provider))) { + return; + } + const params = api.prepare(provider, prefix, icons2); + params.forEach((item) => { + sendAPIQuery(provider, item, (data) => { + if (typeof data !== "object") { + item.icons.forEach((name) => { + storage.missing.add(name); + }); + } else { + try { + const parsed = addIconSet( + storage, + data + ); + if (!parsed.length) { + return; + } + const pending = storage.pendingIcons; + if (pending) { + parsed.forEach((name) => { + pending.delete(name); + }); + } + storeInBrowserStorage(storage, data); + } catch (err) { + console.error(err); + } + } + loadedNewIcons(storage); + }); + }); + }); + } +} +const loadIcons = (icons, callback) => { + const cleanedIcons = listToIcons(icons, true, allowSimpleNames()); + const sortedIcons = sortIcons(cleanedIcons); + if (!sortedIcons.pending.length) { + let callCallback = true; + if (callback) { + setTimeout(() => { + if (callCallback) { + callback( + sortedIcons.loaded, + sortedIcons.missing, + sortedIcons.pending, + emptyCallback + ); + } + }); + } + return () => { + callCallback = false; + }; + } + const newIcons = /* @__PURE__ */ Object.create(null); + const sources = []; + let lastProvider, lastPrefix; + sortedIcons.pending.forEach((icon) => { + const { provider, prefix } = icon; + if (prefix === lastPrefix && provider === lastProvider) { + return; + } + lastProvider = provider; + lastPrefix = prefix; + sources.push(getStorage(provider, prefix)); + const providerNewIcons = newIcons[provider] || (newIcons[provider] = /* @__PURE__ */ Object.create(null)); + if (!providerNewIcons[prefix]) { + providerNewIcons[prefix] = []; + } + }); + sortedIcons.pending.forEach((icon) => { + const { provider, prefix, name } = icon; + const storage = getStorage(provider, prefix); + const pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set()); + if (!pendingQueue.has(name)) { + pendingQueue.add(name); + newIcons[provider][prefix].push(name); + } + }); + sources.forEach((storage) => { + const { provider, prefix } = storage; + if (newIcons[provider][prefix].length) { + loadNewIcons(storage, newIcons[provider][prefix]); + } + }); + return callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback; +}; +const loadIcon = (icon) => { + return new Promise((fulfill, reject) => { + const iconObj = typeof icon === "string" ? stringToIcon(icon, true) : icon; + if (!iconObj) { + reject(icon); + return; + } + loadIcons([iconObj || icon], (loaded) => { + if (loaded.length && iconObj) { + const data = getIconData(iconObj); + if (data) { + fulfill({ + ...defaultIconProps, + ...data + }); + return; + } + } + reject(icon); + }); + }); +}; + +function toggleBrowserCache(storage, value) { + switch (storage) { + case "local": + case "session": + browserStorageConfig[storage] = value; + break; + case "all": + for (const key in browserStorageConfig) { + browserStorageConfig[key] = value; + } + break; + } +} + +function mergeCustomisations(defaults, item) { + const result = { + ...defaults + }; + for (const key in item) { + const value = item[key]; + const valueType = typeof value; + if (key in defaultIconSizeCustomisations) { + if (value === null || value && (valueType === "string" || valueType === "number")) { + result[key] = value; + } + } else if (valueType === typeof result[key]) { + result[key] = key === "rotate" ? value % 4 : value; + } + } + return result; +} + +const separator = /[\s,]+/; +function flipFromString(custom, flip) { + flip.split(separator).forEach((str) => { + const value = str.trim(); + switch (value) { + case "horizontal": + custom.hFlip = true; + break; + case "vertical": + custom.vFlip = true; + break; + } + }); +} + +function rotateFromString(value, defaultValue = 0) { + const units = value.replace(/^-?[0-9.]*/, ""); + function cleanup(value2) { + while (value2 < 0) { + value2 += 4; + } + return value2 % 4; + } + if (units === "") { + const num = parseInt(value); + return isNaN(num) ? 0 : cleanup(num); + } else if (units !== value) { + let split = 0; + switch (units) { + case "%": + split = 25; + break; + case "deg": + split = 90; + } + if (split) { + let num = parseFloat(value.slice(0, value.length - units.length)); + if (isNaN(num)) { + return 0; + } + num = num / split; + return num % 1 === 0 ? cleanup(num) : 0; + } + } + return defaultValue; +} + +function iconToHTML(body, attributes) { + let renderAttribsHTML = body.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"'; + for (const attr in attributes) { + renderAttribsHTML += " " + attr + '="' + attributes[attr] + '"'; + } + return '" + body + ""; +} + +function encodeSVGforURL(svg) { + return svg.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(//g, "%3E").replace(/\s+/g, " "); +} +function svgToData(svg) { + return "data:image/svg+xml," + encodeSVGforURL(svg); +} +function svgToURL(svg) { + return 'url("' + svgToData(svg) + '")'; +} + +const defaultExtendedIconCustomisations = { + ...defaultIconCustomisations, + inline: false, +}; + +/** + * Default SVG attributes + */ +const svgDefaults = { + 'xmlns': 'http://www.w3.org/2000/svg', + 'xmlns:xlink': 'http://www.w3.org/1999/xlink', + 'aria-hidden': true, + 'role': 'img', +}; +/** + * Style modes + */ +const commonProps = { + display: 'inline-block', +}; +const monotoneProps = { + backgroundColor: 'currentColor', +}; +const coloredProps = { + backgroundColor: 'transparent', +}; +// Dynamically add common props to variables above +const propsToAdd = { + Image: 'var(--svg)', + Repeat: 'no-repeat', + Size: '100% 100%', +}; +const propsToAddTo = { + webkitMask: monotoneProps, + mask: monotoneProps, + background: coloredProps, +}; +for (const prefix in propsToAddTo) { + const list = propsToAddTo[prefix]; + for (const prop in propsToAdd) { + list[prefix + prop] = propsToAdd[prop]; + } +} +/** + * Aliases for customisations. + * In Vue 'v-' properties are reserved, so v-flip must be renamed + */ +const customisationAliases = {}; +['horizontal', 'vertical'].forEach((prefix) => { + const attr = prefix.slice(0, 1) + 'Flip'; + // vertical-flip + customisationAliases[prefix + '-flip'] = attr; + // v-flip + customisationAliases[prefix.slice(0, 1) + '-flip'] = attr; + // verticalFlip + customisationAliases[prefix + 'Flip'] = attr; +}); +/** + * Fix size: add 'px' to numbers + */ +function fixSize(value) { + return value + (value.match(/^[-0-9.]+$/) ? 'px' : ''); +} +/** + * Render icon + */ +const render = ( +// Icon must be validated before calling this function +icon, +// Partial properties +props) => { + // Split properties + const customisations = mergeCustomisations(defaultExtendedIconCustomisations, props); + const componentProps = { ...svgDefaults }; + // Check mode + const mode = props.mode || 'svg'; + // Copy style + const style = {}; + const propsStyle = props.style; + const customStyle = typeof propsStyle === 'object' && !(propsStyle instanceof Array) + ? propsStyle + : {}; + // Get element properties + for (let key in props) { + const value = props[key]; + if (value === void 0) { + continue; + } + switch (key) { + // Properties to ignore + case 'icon': + case 'style': + case 'onLoad': + case 'mode': + break; + // Boolean attributes + case 'inline': + case 'hFlip': + case 'vFlip': + customisations[key] = + value === true || value === 'true' || value === 1; + break; + // Flip as string: 'horizontal,vertical' + case 'flip': + if (typeof value === 'string') { + flipFromString(customisations, value); + } + break; + // Color: override style + case 'color': + style.color = value; + break; + // Rotation as string + case 'rotate': + if (typeof value === 'string') { + customisations[key] = rotateFromString(value); + } + else if (typeof value === 'number') { + customisations[key] = value; + } + break; + // Remove aria-hidden + case 'ariaHidden': + case 'aria-hidden': + // Vue transforms 'aria-hidden' property to 'ariaHidden' + if (value !== true && value !== 'true') { + delete componentProps['aria-hidden']; + } + break; + default: { + const alias = customisationAliases[key]; + if (alias) { + // Aliases for boolean customisations + if (value === true || value === 'true' || value === 1) { + customisations[alias] = true; + } + } + else if (defaultExtendedIconCustomisations[key] === void 0) { + // Copy missing property if it does not exist in customisations + componentProps[key] = value; + } + } + } + } + // Generate icon + const item = iconToSVG(icon, customisations); + const renderAttribs = item.attributes; + // Inline display + if (customisations.inline) { + style.verticalAlign = '-0.125em'; + } + if (mode === 'svg') { + // Add style + componentProps.style = { + ...style, + ...customStyle, + }; + // Add icon stuff + Object.assign(componentProps, renderAttribs); + // Counter for ids based on "id" property to render icons consistently on server and client + let localCounter = 0; + let id = props.id; + if (typeof id === 'string') { + // Convert '-' to '_' to avoid errors in animations + id = id.replace(/-/g, '_'); + } + // Add innerHTML and style to props + componentProps['innerHTML'] = replaceIDs(item.body, id ? () => id + 'ID' + localCounter++ : 'iconifyVue'); + // Render icon + return h('svg', componentProps); + } + // Render with style + const { body, width, height } = icon; + const useMask = mode === 'mask' || + (mode === 'bg' ? false : body.indexOf('currentColor') !== -1); + // Generate SVG + const html = iconToHTML(body, { + ...renderAttribs, + width: width + '', + height: height + '', + }); + // Generate style + componentProps.style = { + ...style, + '--svg': svgToURL(html), + 'width': fixSize(renderAttribs.width), + 'height': fixSize(renderAttribs.height), + ...commonProps, + ...(useMask ? monotoneProps : coloredProps), + ...customStyle, + }; + return h('span', componentProps); +}; + +/** + * Enable cache + */ +function enableCache(storage) { + toggleBrowserCache(storage, true); +} +/** + * Disable cache + */ +function disableCache(storage) { + toggleBrowserCache(storage, false); +} +/** + * Initialise stuff + */ +// Enable short names +allowSimpleNames(true); +// Set API module +setAPIModule('', fetchAPIModule); +/** + * Browser stuff + */ +if (typeof document !== 'undefined' && typeof window !== 'undefined') { + // Set cache and load existing cache + initBrowserStorage(); + const _window = window; + // Load icons from global "IconifyPreload" + if (_window.IconifyPreload !== void 0) { + const preload = _window.IconifyPreload; + const err = 'Invalid IconifyPreload syntax.'; + if (typeof preload === 'object' && preload !== null) { + (preload instanceof Array ? preload : [preload]).forEach((item) => { + try { + if ( + // Check if item is an object and not null/array + typeof item !== 'object' || + item === null || + item instanceof Array || + // Check for 'icons' and 'prefix' + typeof item.icons !== 'object' || + typeof item.prefix !== 'string' || + // Add icon set + !addCollection(item)) { + console.error(err); + } + } + catch (e) { + console.error(err); + } + }); + } + } + // Set API from global "IconifyProviders" + if (_window.IconifyProviders !== void 0) { + const providers = _window.IconifyProviders; + if (typeof providers === 'object' && providers !== null) { + for (let key in providers) { + const err = 'IconifyProviders[' + key + '] is invalid.'; + try { + const value = providers[key]; + if (typeof value !== 'object' || + !value || + value.resources === void 0) { + continue; + } + if (!addAPIProvider(key, value)) { + console.error(err); + } + } + catch (e) { + console.error(err); + } + } + } + } +} +/** + * Empty icon data, rendered when icon is not available + */ +const emptyIcon = { + ...defaultIconProps, + body: '', +}; +const Icon = defineComponent({ + // Do not inherit other attributes: it is handled by render() + inheritAttrs: false, + // Set initial data + data() { + return { + // Mounted status + iconMounted: false, + // Callback counter to trigger re-render + counter: 0, + }; + }, + mounted() { + // Current icon name + this._name = ''; + // Loading + this._loadingIcon = null; + // Mark as mounted + this.iconMounted = true; + }, + unmounted() { + this.abortLoading(); + }, + methods: { + abortLoading() { + if (this._loadingIcon) { + this._loadingIcon.abort(); + this._loadingIcon = null; + } + }, + // Get data for icon to render or null + getIcon(icon, onload) { + // Icon is an object + if (typeof icon === 'object' && + icon !== null && + typeof icon.body === 'string') { + // Stop loading + this._name = ''; + this.abortLoading(); + return { + data: icon, + }; + } + // Invalid icon? + let iconName; + if (typeof icon !== 'string' || + (iconName = stringToIcon(icon, false, true)) === null) { + this.abortLoading(); + return null; + } + // Load icon + const data = getIconData(iconName); + if (!data) { + // Icon data is not available + if (!this._loadingIcon || this._loadingIcon.name !== icon) { + // New icon to load + this.abortLoading(); + this._name = ''; + if (data !== null) { + // Icon was not loaded + this._loadingIcon = { + name: icon, + abort: loadIcons([iconName], () => { + this.counter++; + }), + }; + } + } + return null; + } + // Icon data is available + this.abortLoading(); + if (this._name !== icon) { + this._name = icon; + if (onload) { + onload(icon); + } + } + // Add classes + const classes = ['iconify']; + if (iconName.prefix !== '') { + classes.push('iconify--' + iconName.prefix); + } + if (iconName.provider !== '') { + classes.push('iconify--' + iconName.provider); + } + return { data, classes }; + }, + }, + // Render icon + render() { + // Re-render when counter changes + this.counter; + const props = this.$attrs; + // Get icon data + const icon = this.iconMounted + ? this.getIcon(props.icon, props.onLoad) + : null; + // Validate icon object + if (!icon) { + return render(emptyIcon, props); + } + // Add classes + let newProps = props; + if (icon.classes) { + newProps = { + ...props, + class: (typeof props['class'] === 'string' + ? props['class'] + ' ' + : '') + icon.classes.join(' '), + }; + } + // Render icon + return render({ + ...defaultIconProps, + ...icon.data, + }, newProps); + }, +}); +/** + * Internal API + */ +const _api = { + getAPIConfig, + setAPIModule, + sendAPIQuery, + setFetch, + getFetch, + listAPIProviders, +}; + +export { Icon, _api, addAPIProvider, addCollection, addIcon, iconToSVG as buildIcon, calculateSize, disableCache, enableCache, getIcon, iconExists, listIcons, loadIcon, loadIcons, replaceIDs }; diff --git a/.output/server/node_modules/@iconify/vue/dist/offline.mjs b/.output/server/node_modules/@iconify/vue/dist/offline.mjs new file mode 100644 index 0000000000..56fc62a565 --- /dev/null +++ b/.output/server/node_modules/@iconify/vue/dist/offline.mjs @@ -0,0 +1,690 @@ +import { h, defineComponent } from 'vue'; + +const defaultIconDimensions = Object.freeze( + { + left: 0, + top: 0, + width: 16, + height: 16 + } +); +const defaultIconTransformations = Object.freeze({ + rotate: 0, + vFlip: false, + hFlip: false +}); +const defaultIconProps = Object.freeze({ + ...defaultIconDimensions, + ...defaultIconTransformations +}); +const defaultExtendedIconProps = Object.freeze({ + ...defaultIconProps, + body: "", + hidden: false +}); + +function mergeIconTransformations(obj1, obj2) { + const result = {}; + if (!obj1.hFlip !== !obj2.hFlip) { + result.hFlip = true; + } + if (!obj1.vFlip !== !obj2.vFlip) { + result.vFlip = true; + } + const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4; + if (rotate) { + result.rotate = rotate; + } + return result; +} + +function mergeIconData(parent, child) { + const result = mergeIconTransformations(parent, child); + for (const key in defaultExtendedIconProps) { + if (key in defaultIconTransformations) { + if (key in parent && !(key in result)) { + result[key] = defaultIconTransformations[key]; + } + } else if (key in child) { + result[key] = child[key]; + } else if (key in parent) { + result[key] = parent[key]; + } + } + return result; +} + +function getIconsTree(data, names) { + const icons = data.icons; + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + const resolved = /* @__PURE__ */ Object.create(null); + function resolve(name) { + if (icons[name]) { + return resolved[name] = []; + } + if (!(name in resolved)) { + resolved[name] = null; + const parent = aliases[name] && aliases[name].parent; + const value = parent && resolve(parent); + if (value) { + resolved[name] = [parent].concat(value); + } + } + return resolved[name]; + } + (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve); + return resolved; +} + +function internalGetIconData(data, name, tree) { + const icons = data.icons; + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + let currentProps = {}; + function parse(name2) { + currentProps = mergeIconData( + icons[name2] || aliases[name2], + currentProps + ); + } + parse(name); + tree.forEach(parse); + return mergeIconData(data, currentProps); +} + +function parseIconSet(data, callback) { + const names = []; + if (typeof data !== "object" || typeof data.icons !== "object") { + return names; + } + if (data.not_found instanceof Array) { + data.not_found.forEach((name) => { + callback(name, null); + names.push(name); + }); + } + const tree = getIconsTree(data); + for (const name in tree) { + const item = tree[name]; + if (item) { + callback(name, internalGetIconData(data, name, item)); + names.push(name); + } + } + return names; +} + +const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/; + +const optionalPropertyDefaults = { + provider: "", + aliases: {}, + not_found: {}, + ...defaultIconDimensions +}; +function checkOptionalProps(item, defaults) { + for (const prop in defaults) { + if (prop in item && typeof item[prop] !== typeof defaults[prop]) { + return false; + } + } + return true; +} +function quicklyValidateIconSet(obj) { + if (typeof obj !== "object" || obj === null) { + return null; + } + const data = obj; + if (typeof data.prefix !== "string" || !obj.icons || typeof obj.icons !== "object") { + return null; + } + if (!checkOptionalProps(obj, optionalPropertyDefaults)) { + return null; + } + const icons = data.icons; + for (const name in icons) { + const icon = icons[name]; + if (!name.match(matchIconName) || typeof icon.body !== "string" || !checkOptionalProps( + icon, + defaultExtendedIconProps + )) { + return null; + } + } + const aliases = data.aliases || /* @__PURE__ */ Object.create(null); + for (const name in aliases) { + const icon = aliases[name]; + const parent = icon.parent; + if (!name.match(matchIconName) || typeof parent !== "string" || !icons[parent] && !aliases[parent] || !checkOptionalProps( + icon, + defaultExtendedIconProps + )) { + return null; + } + } + return data; +} + +const defaultIconSizeCustomisations = Object.freeze({ + width: null, + height: null +}); +const defaultIconCustomisations = Object.freeze({ + // Dimensions + ...defaultIconSizeCustomisations, + // Transformations + ...defaultIconTransformations +}); + +function mergeCustomisations(defaults, item) { + const result = { + ...defaults + }; + for (const key in item) { + const value = item[key]; + const valueType = typeof value; + if (key in defaultIconSizeCustomisations) { + if (value === null || value && (valueType === "string" || valueType === "number")) { + result[key] = value; + } + } else if (valueType === typeof result[key]) { + result[key] = key === "rotate" ? value % 4 : value; + } + } + return result; +} + +const separator = /[\s,]+/; +function flipFromString(custom, flip) { + flip.split(separator).forEach((str) => { + const value = str.trim(); + switch (value) { + case "horizontal": + custom.hFlip = true; + break; + case "vertical": + custom.vFlip = true; + break; + } + }); +} + +function rotateFromString(value, defaultValue = 0) { + const units = value.replace(/^-?[0-9.]*/, ""); + function cleanup(value2) { + while (value2 < 0) { + value2 += 4; + } + return value2 % 4; + } + if (units === "") { + const num = parseInt(value); + return isNaN(num) ? 0 : cleanup(num); + } else if (units !== value) { + let split = 0; + switch (units) { + case "%": + split = 25; + break; + case "deg": + split = 90; + } + if (split) { + let num = parseFloat(value.slice(0, value.length - units.length)); + if (isNaN(num)) { + return 0; + } + num = num / split; + return num % 1 === 0 ? cleanup(num) : 0; + } + } + return defaultValue; +} + +const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g; +const unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g; +function calculateSize(size, ratio, precision) { + if (ratio === 1) { + return size; + } + precision = precision || 100; + if (typeof size === "number") { + return Math.ceil(size * ratio * precision) / precision; + } + if (typeof size !== "string") { + return size; + } + const oldParts = size.split(unitsSplit); + if (oldParts === null || !oldParts.length) { + return size; + } + const newParts = []; + let code = oldParts.shift(); + let isNumber = unitsTest.test(code); + while (true) { + if (isNumber) { + const num = parseFloat(code); + if (isNaN(num)) { + newParts.push(code); + } else { + newParts.push(Math.ceil(num * ratio * precision) / precision); + } + } else { + newParts.push(code); + } + code = oldParts.shift(); + if (code === void 0) { + return newParts.join(""); + } + isNumber = !isNumber; + } +} + +const isUnsetKeyword = (value) => value === "unset" || value === "undefined" || value === "none"; +function iconToSVG(icon, customisations) { + const fullIcon = { + ...defaultIconProps, + ...icon + }; + const fullCustomisations = { + ...defaultIconCustomisations, + ...customisations + }; + const box = { + left: fullIcon.left, + top: fullIcon.top, + width: fullIcon.width, + height: fullIcon.height + }; + let body = fullIcon.body; + [fullIcon, fullCustomisations].forEach((props) => { + const transformations = []; + const hFlip = props.hFlip; + const vFlip = props.vFlip; + let rotation = props.rotate; + if (hFlip) { + if (vFlip) { + rotation += 2; + } else { + transformations.push( + "translate(" + (box.width + box.left).toString() + " " + (0 - box.top).toString() + ")" + ); + transformations.push("scale(-1 1)"); + box.top = box.left = 0; + } + } else if (vFlip) { + transformations.push( + "translate(" + (0 - box.left).toString() + " " + (box.height + box.top).toString() + ")" + ); + transformations.push("scale(1 -1)"); + box.top = box.left = 0; + } + let tempValue; + if (rotation < 0) { + rotation -= Math.floor(rotation / 4) * 4; + } + rotation = rotation % 4; + switch (rotation) { + case 1: + tempValue = box.height / 2 + box.top; + transformations.unshift( + "rotate(90 " + tempValue.toString() + " " + tempValue.toString() + ")" + ); + break; + case 2: + transformations.unshift( + "rotate(180 " + (box.width / 2 + box.left).toString() + " " + (box.height / 2 + box.top).toString() + ")" + ); + break; + case 3: + tempValue = box.width / 2 + box.left; + transformations.unshift( + "rotate(-90 " + tempValue.toString() + " " + tempValue.toString() + ")" + ); + break; + } + if (rotation % 2 === 1) { + if (box.left !== box.top) { + tempValue = box.left; + box.left = box.top; + box.top = tempValue; + } + if (box.width !== box.height) { + tempValue = box.width; + box.width = box.height; + box.height = tempValue; + } + } + if (transformations.length) { + body = '' + body + ""; + } + }); + const customisationsWidth = fullCustomisations.width; + const customisationsHeight = fullCustomisations.height; + const boxWidth = box.width; + const boxHeight = box.height; + let width; + let height; + if (customisationsWidth === null) { + height = customisationsHeight === null ? "1em" : customisationsHeight === "auto" ? boxHeight : customisationsHeight; + width = calculateSize(height, boxWidth / boxHeight); + } else { + width = customisationsWidth === "auto" ? boxWidth : customisationsWidth; + height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === "auto" ? boxHeight : customisationsHeight; + } + const attributes = {}; + const setAttr = (prop, value) => { + if (!isUnsetKeyword(value)) { + attributes[prop] = value.toString(); + } + }; + setAttr("width", width); + setAttr("height", height); + attributes.viewBox = box.left.toString() + " " + box.top.toString() + " " + boxWidth.toString() + " " + boxHeight.toString(); + return { + attributes, + body + }; +} + +const regex = /\sid="(\S+)"/g; +const randomPrefix = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16); +let counter = 0; +function replaceIDs(body, prefix = randomPrefix) { + const ids = []; + let match; + while (match = regex.exec(body)) { + ids.push(match[1]); + } + if (!ids.length) { + return body; + } + const suffix = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16); + ids.forEach((id) => { + const newID = typeof prefix === "function" ? prefix(id) : prefix + (counter++).toString(); + const escapedID = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + body = body.replace( + // Allowed characters before id: [#;"] + // Allowed characters after id: [)"], .[a-z] + new RegExp('([#;"])(' + escapedID + ')([")]|\\.[a-z])', "g"), + "$1" + newID + suffix + "$3" + ); + }); + body = body.replace(new RegExp(suffix, "g"), ""); + return body; +} + +function iconToHTML(body, attributes) { + let renderAttribsHTML = body.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"'; + for (const attr in attributes) { + renderAttribsHTML += " " + attr + '="' + attributes[attr] + '"'; + } + return '" + body + ""; +} + +function encodeSVGforURL(svg) { + return svg.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(//g, "%3E").replace(/\s+/g, " "); +} +function svgToData(svg) { + return "data:image/svg+xml," + encodeSVGforURL(svg); +} +function svgToURL(svg) { + return 'url("' + svgToData(svg) + '")'; +} + +const defaultExtendedIconCustomisations = { + ...defaultIconCustomisations, + inline: false, +}; + +/** + * Default SVG attributes + */ +const svgDefaults = { + 'xmlns': 'http://www.w3.org/2000/svg', + 'xmlns:xlink': 'http://www.w3.org/1999/xlink', + 'aria-hidden': true, + 'role': 'img', +}; +/** + * Style modes + */ +const commonProps = { + display: 'inline-block', +}; +const monotoneProps = { + backgroundColor: 'currentColor', +}; +const coloredProps = { + backgroundColor: 'transparent', +}; +// Dynamically add common props to variables above +const propsToAdd = { + Image: 'var(--svg)', + Repeat: 'no-repeat', + Size: '100% 100%', +}; +const propsToAddTo = { + webkitMask: monotoneProps, + mask: monotoneProps, + background: coloredProps, +}; +for (const prefix in propsToAddTo) { + const list = propsToAddTo[prefix]; + for (const prop in propsToAdd) { + list[prefix + prop] = propsToAdd[prop]; + } +} +/** + * Aliases for customisations. + * In Vue 'v-' properties are reserved, so v-flip must be renamed + */ +const customisationAliases = {}; +['horizontal', 'vertical'].forEach((prefix) => { + const attr = prefix.slice(0, 1) + 'Flip'; + // vertical-flip + customisationAliases[prefix + '-flip'] = attr; + // v-flip + customisationAliases[prefix.slice(0, 1) + '-flip'] = attr; + // verticalFlip + customisationAliases[prefix + 'Flip'] = attr; +}); +/** + * Fix size: add 'px' to numbers + */ +function fixSize(value) { + return value + (value.match(/^[-0-9.]+$/) ? 'px' : ''); +} +/** + * Render icon + */ +const render = ( +// Icon must be validated before calling this function +icon, +// Partial properties +props) => { + // Split properties + const customisations = mergeCustomisations(defaultExtendedIconCustomisations, props); + const componentProps = { ...svgDefaults }; + // Check mode + const mode = props.mode || 'svg'; + // Copy style + const style = {}; + const propsStyle = props.style; + const customStyle = typeof propsStyle === 'object' && !(propsStyle instanceof Array) + ? propsStyle + : {}; + // Get element properties + for (let key in props) { + const value = props[key]; + if (value === void 0) { + continue; + } + switch (key) { + // Properties to ignore + case 'icon': + case 'style': + case 'onLoad': + case 'mode': + break; + // Boolean attributes + case 'inline': + case 'hFlip': + case 'vFlip': + customisations[key] = + value === true || value === 'true' || value === 1; + break; + // Flip as string: 'horizontal,vertical' + case 'flip': + if (typeof value === 'string') { + flipFromString(customisations, value); + } + break; + // Color: override style + case 'color': + style.color = value; + break; + // Rotation as string + case 'rotate': + if (typeof value === 'string') { + customisations[key] = rotateFromString(value); + } + else if (typeof value === 'number') { + customisations[key] = value; + } + break; + // Remove aria-hidden + case 'ariaHidden': + case 'aria-hidden': + // Vue transforms 'aria-hidden' property to 'ariaHidden' + if (value !== true && value !== 'true') { + delete componentProps['aria-hidden']; + } + break; + default: { + const alias = customisationAliases[key]; + if (alias) { + // Aliases for boolean customisations + if (value === true || value === 'true' || value === 1) { + customisations[alias] = true; + } + } + else if (defaultExtendedIconCustomisations[key] === void 0) { + // Copy missing property if it does not exist in customisations + componentProps[key] = value; + } + } + } + } + // Generate icon + const item = iconToSVG(icon, customisations); + const renderAttribs = item.attributes; + // Inline display + if (customisations.inline) { + style.verticalAlign = '-0.125em'; + } + if (mode === 'svg') { + // Add style + componentProps.style = { + ...style, + ...customStyle, + }; + // Add icon stuff + Object.assign(componentProps, renderAttribs); + // Counter for ids based on "id" property to render icons consistently on server and client + let localCounter = 0; + let id = props.id; + if (typeof id === 'string') { + // Convert '-' to '_' to avoid errors in animations + id = id.replace(/-/g, '_'); + } + // Add innerHTML and style to props + componentProps['innerHTML'] = replaceIDs(item.body, id ? () => id + 'ID' + localCounter++ : 'iconifyVue'); + // Render icon + return h('svg', componentProps); + } + // Render with style + const { body, width, height } = icon; + const useMask = mode === 'mask' || + (mode === 'bg' ? false : body.indexOf('currentColor') !== -1); + // Generate SVG + const html = iconToHTML(body, { + ...renderAttribs, + width: width + '', + height: height + '', + }); + // Generate style + componentProps.style = { + ...style, + '--svg': svgToURL(html), + 'width': fixSize(renderAttribs.width), + 'height': fixSize(renderAttribs.height), + ...commonProps, + ...(useMask ? monotoneProps : coloredProps), + ...customStyle, + }; + return h('span', componentProps); +}; + +/** + * Storage for icons referred by name + */ +const storage = Object.create(null); +/** + * Add icon to storage, allowing to call it by name + * + * @param name + * @param data + */ +function addIcon(name, data) { + storage[name] = data; +} +/** + * Add collection to storage, allowing to call icons by name + * + * @param data Icon set + * @param prefix Optional prefix to add to icon names, true (default) if prefix from icon set should be used. + */ +function addCollection(data, prefix) { + const iconPrefix = typeof prefix === 'string' + ? prefix + : prefix !== false && typeof data.prefix === 'string' + ? data.prefix + ':' + : ''; + quicklyValidateIconSet(data) && + parseIconSet(data, (name, icon) => { + if (icon) { + storage[iconPrefix + name] = icon; + } + }); +} +/** + * Component + */ +const Icon = defineComponent({ + // Do not inherit other attributes: it is handled by render() + inheritAttrs: false, + // Render icon + render() { + const props = this.$attrs; + // Check icon + const propsIcon = props.icon; + const icon = typeof propsIcon === 'string' + ? storage[propsIcon] + : typeof propsIcon === 'object' + ? propsIcon + : null; + // Validate icon object + if (icon === null || + typeof icon !== 'object' || + typeof icon.body !== 'string') { + return this.$slots.default ? this.$slots.default() : null; + } + // Valid icon: render it + return render({ + ...defaultIconProps, + ...icon, + }, props); + }, +}); + +export { Icon, addCollection, addIcon }; diff --git a/.output/server/node_modules/@iconify/vue/package.json b/.output/server/node_modules/@iconify/vue/package.json new file mode 100644 index 0000000000..56912ae8a1 --- /dev/null +++ b/.output/server/node_modules/@iconify/vue/package.json @@ -0,0 +1,65 @@ +{ + "name": "@iconify/vue", + "description": "Iconify icon component for Vue 3.", + "author": "Vjacheslav Trushkin", + "version": "4.1.1", + "license": "MIT", + "bugs": "https://github.com/iconify/iconify/issues", + "homepage": "https://iconify.design/", + "funding": "https://github.com/sponsors/cyberalien", + "repository": { + "type": "git", + "url": "https://github.com/iconify/iconify.git", + "directory": "components/vue" + }, + "main": "dist/iconify.js", + "module": "dist/iconify.mjs", + "types": "dist/iconify.d.ts", + "exports": { + "./*": "./*", + ".": { + "import": "./dist/iconify.mjs", + "types": "./dist/iconify.d.ts", + "default": "./dist/iconify.js" + }, + "./offline": { + "import": "./dist/offline.mjs", + "types": "./dist/offline.d.ts", + "default": "./dist/offline.js" + }, + "./dist/offline": { + "import": "./dist/offline.mjs", + "types": "./dist/offline.d.ts", + "default": "./dist/offline.js" + } + }, + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "devDependencies": { + "@babel/preset-env": "^7.21.4", + "@microsoft/api-extractor": "^7.34.4", + "@rollup/plugin-node-resolve": "^15.0.1", + "@types/jest": "^29.5.0", + "@vitejs/plugin-vue": "^4.1.0", + "@vue/test-utils": "^2.3.2", + "jsdom": "^21.1.1", + "rollup": "^3.20.2", + "typescript": "^5.0.3", + "vitest": "^0.29.8", + "vue": "^3.2.47", + "@iconify/core": "^2.0.1", + "@iconify/utils": "^2.1.5" + }, + "peerDependencies": { + "vue": ">=3" + }, + "scripts": { + "build": "node build", + "build:lib": "tsc -b", + "build:dist": "rollup -c rollup.config.mjs", + "prebuild:api": "api-extractor run --local --verbose --config api-extractor.offline.json", + "build:api": "api-extractor run --local --verbose --config api-extractor.iconify.json", + "test": "vitest" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@sindresorhus/is/dist/index.js b/.output/server/node_modules/@sindresorhus/is/dist/index.js new file mode 100644 index 0000000000..218db8b817 --- /dev/null +++ b/.output/server/node_modules/@sindresorhus/is/dist/index.js @@ -0,0 +1,410 @@ +"use strict"; +/// +/// +/// +Object.defineProperty(exports, "__esModule", { value: true }); +const typedArrayTypeNames = [ + 'Int8Array', + 'Uint8Array', + 'Uint8ClampedArray', + 'Int16Array', + 'Uint16Array', + 'Int32Array', + 'Uint32Array', + 'Float32Array', + 'Float64Array', + 'BigInt64Array', + 'BigUint64Array' +]; +function isTypedArrayName(name) { + return typedArrayTypeNames.includes(name); +} +const objectTypeNames = [ + 'Function', + 'Generator', + 'AsyncGenerator', + 'GeneratorFunction', + 'AsyncGeneratorFunction', + 'AsyncFunction', + 'Observable', + 'Array', + 'Buffer', + 'Object', + 'RegExp', + 'Date', + 'Error', + 'Map', + 'Set', + 'WeakMap', + 'WeakSet', + 'ArrayBuffer', + 'SharedArrayBuffer', + 'DataView', + 'Promise', + 'URL', + 'HTMLElement', + ...typedArrayTypeNames +]; +function isObjectTypeName(name) { + return objectTypeNames.includes(name); +} +const primitiveTypeNames = [ + 'null', + 'undefined', + 'string', + 'number', + 'bigint', + 'boolean', + 'symbol' +]; +function isPrimitiveTypeName(name) { + return primitiveTypeNames.includes(name); +} +// eslint-disable-next-line @typescript-eslint/ban-types +function isOfType(type) { + return (value) => typeof value === type; +} +const { toString } = Object.prototype; +const getObjectType = (value) => { + const objectTypeName = toString.call(value).slice(8, -1); + if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) { + return 'HTMLElement'; + } + if (isObjectTypeName(objectTypeName)) { + return objectTypeName; + } + return undefined; +}; +const isObjectOfType = (type) => (value) => getObjectType(value) === type; +function is(value) { + if (value === null) { + return 'null'; + } + switch (typeof value) { + case 'undefined': + return 'undefined'; + case 'string': + return 'string'; + case 'number': + return 'number'; + case 'boolean': + return 'boolean'; + case 'function': + return 'Function'; + case 'bigint': + return 'bigint'; + case 'symbol': + return 'symbol'; + default: + } + if (is.observable(value)) { + return 'Observable'; + } + if (is.array(value)) { + return 'Array'; + } + if (is.buffer(value)) { + return 'Buffer'; + } + const tagType = getObjectType(value); + if (tagType) { + return tagType; + } + if (value instanceof String || value instanceof Boolean || value instanceof Number) { + throw new TypeError('Please don\'t use object wrappers for primitive types'); + } + return 'Object'; +} +is.undefined = isOfType('undefined'); +is.string = isOfType('string'); +const isNumberType = isOfType('number'); +is.number = (value) => isNumberType(value) && !is.nan(value); +is.bigint = isOfType('bigint'); +// eslint-disable-next-line @typescript-eslint/ban-types +is.function_ = isOfType('function'); +is.null_ = (value) => value === null; +is.class_ = (value) => is.function_(value) && value.toString().startsWith('class '); +is.boolean = (value) => value === true || value === false; +is.symbol = isOfType('symbol'); +is.numericString = (value) => is.string(value) && !is.emptyStringOrWhitespace(value) && !Number.isNaN(Number(value)); +is.array = (value, assertion) => { + if (!Array.isArray(value)) { + return false; + } + if (!is.function_(assertion)) { + return true; + } + return value.every(assertion); +}; +is.buffer = (value) => { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false; }; +is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value); +is.object = (value) => !is.null_(value) && (typeof value === 'object' || is.function_(value)); +is.iterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.iterator]); }; +is.asyncIterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.asyncIterator]); }; +is.generator = (value) => is.iterable(value) && is.function_(value.next) && is.function_(value.throw); +is.asyncGenerator = (value) => is.asyncIterable(value) && is.function_(value.next) && is.function_(value.throw); +is.nativePromise = (value) => isObjectOfType('Promise')(value); +const hasPromiseAPI = (value) => { + var _a, _b; + return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.then) && + is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.catch); +}; +is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value); +is.generatorFunction = isObjectOfType('GeneratorFunction'); +is.asyncGeneratorFunction = (value) => getObjectType(value) === 'AsyncGeneratorFunction'; +is.asyncFunction = (value) => getObjectType(value) === 'AsyncFunction'; +// eslint-disable-next-line no-prototype-builtins, @typescript-eslint/ban-types +is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype'); +is.regExp = isObjectOfType('RegExp'); +is.date = isObjectOfType('Date'); +is.error = isObjectOfType('Error'); +is.map = (value) => isObjectOfType('Map')(value); +is.set = (value) => isObjectOfType('Set')(value); +is.weakMap = (value) => isObjectOfType('WeakMap')(value); +is.weakSet = (value) => isObjectOfType('WeakSet')(value); +is.int8Array = isObjectOfType('Int8Array'); +is.uint8Array = isObjectOfType('Uint8Array'); +is.uint8ClampedArray = isObjectOfType('Uint8ClampedArray'); +is.int16Array = isObjectOfType('Int16Array'); +is.uint16Array = isObjectOfType('Uint16Array'); +is.int32Array = isObjectOfType('Int32Array'); +is.uint32Array = isObjectOfType('Uint32Array'); +is.float32Array = isObjectOfType('Float32Array'); +is.float64Array = isObjectOfType('Float64Array'); +is.bigInt64Array = isObjectOfType('BigInt64Array'); +is.bigUint64Array = isObjectOfType('BigUint64Array'); +is.arrayBuffer = isObjectOfType('ArrayBuffer'); +is.sharedArrayBuffer = isObjectOfType('SharedArrayBuffer'); +is.dataView = isObjectOfType('DataView'); +is.directInstanceOf = (instance, class_) => Object.getPrototypeOf(instance) === class_.prototype; +is.urlInstance = (value) => isObjectOfType('URL')(value); +is.urlString = (value) => { + if (!is.string(value)) { + return false; + } + try { + new URL(value); // eslint-disable-line no-new + return true; + } + catch (_a) { + return false; + } +}; +// TODO: Use the `not` operator with a type guard here when it's available. +// Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);` +is.truthy = (value) => Boolean(value); +// Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);` +is.falsy = (value) => !value; +is.nan = (value) => Number.isNaN(value); +is.primitive = (value) => is.null_(value) || isPrimitiveTypeName(typeof value); +is.integer = (value) => Number.isInteger(value); +is.safeInteger = (value) => Number.isSafeInteger(value); +is.plainObject = (value) => { + // From: https://github.com/sindresorhus/is-plain-obj/blob/master/index.js + if (toString.call(value) !== '[object Object]') { + return false; + } + const prototype = Object.getPrototypeOf(value); + return prototype === null || prototype === Object.getPrototypeOf({}); +}; +is.typedArray = (value) => isTypedArrayName(getObjectType(value)); +const isValidLength = (value) => is.safeInteger(value) && value >= 0; +is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length); +is.inRange = (value, range) => { + if (is.number(range)) { + return value >= Math.min(0, range) && value <= Math.max(range, 0); + } + if (is.array(range) && range.length === 2) { + return value >= Math.min(...range) && value <= Math.max(...range); + } + throw new TypeError(`Invalid range: ${JSON.stringify(range)}`); +}; +const NODE_TYPE_ELEMENT = 1; +const DOM_PROPERTIES_TO_CHECK = [ + 'innerHTML', + 'ownerDocument', + 'style', + 'attributes', + 'nodeValue' +]; +is.domElement = (value) => { + return is.object(value) && + value.nodeType === NODE_TYPE_ELEMENT && + is.string(value.nodeName) && + !is.plainObject(value) && + DOM_PROPERTIES_TO_CHECK.every(property => property in value); +}; +is.observable = (value) => { + var _a, _b, _c, _d; + if (!value) { + return false; + } + // eslint-disable-next-line no-use-extend-native/no-use-extend-native + if (value === ((_b = (_a = value)[Symbol.observable]) === null || _b === void 0 ? void 0 : _b.call(_a))) { + return true; + } + if (value === ((_d = (_c = value)['@@observable']) === null || _d === void 0 ? void 0 : _d.call(_c))) { + return true; + } + return false; +}; +is.nodeStream = (value) => is.object(value) && is.function_(value.pipe) && !is.observable(value); +is.infinite = (value) => value === Infinity || value === -Infinity; +const isAbsoluteMod2 = (remainder) => (value) => is.integer(value) && Math.abs(value % 2) === remainder; +is.evenInteger = isAbsoluteMod2(0); +is.oddInteger = isAbsoluteMod2(1); +is.emptyArray = (value) => is.array(value) && value.length === 0; +is.nonEmptyArray = (value) => is.array(value) && value.length > 0; +is.emptyString = (value) => is.string(value) && value.length === 0; +// TODO: Use `not ''` when the `not` operator is available. +is.nonEmptyString = (value) => is.string(value) && value.length > 0; +const isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value); +is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value); +is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0; +// TODO: Use `not` operator here to remove `Map` and `Set` from type guard: +// - https://github.com/Microsoft/TypeScript/pull/29317 +is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0; +is.emptySet = (value) => is.set(value) && value.size === 0; +is.nonEmptySet = (value) => is.set(value) && value.size > 0; +is.emptyMap = (value) => is.map(value) && value.size === 0; +is.nonEmptyMap = (value) => is.map(value) && value.size > 0; +const predicateOnArray = (method, predicate, values) => { + if (!is.function_(predicate)) { + throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`); + } + if (values.length === 0) { + throw new TypeError('Invalid number of values'); + } + return method.call(values, predicate); +}; +is.any = (predicate, ...values) => { + const predicates = is.array(predicate) ? predicate : [predicate]; + return predicates.some(singlePredicate => predicateOnArray(Array.prototype.some, singlePredicate, values)); +}; +is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values); +const assertType = (condition, description, value) => { + if (!condition) { + throw new TypeError(`Expected value which is \`${description}\`, received value of type \`${is(value)}\`.`); + } +}; +exports.assert = { + // Unknowns. + undefined: (value) => assertType(is.undefined(value), 'undefined', value), + string: (value) => assertType(is.string(value), 'string', value), + number: (value) => assertType(is.number(value), 'number', value), + bigint: (value) => assertType(is.bigint(value), 'bigint', value), + // eslint-disable-next-line @typescript-eslint/ban-types + function_: (value) => assertType(is.function_(value), 'Function', value), + null_: (value) => assertType(is.null_(value), 'null', value), + class_: (value) => assertType(is.class_(value), "Class" /* class_ */, value), + boolean: (value) => assertType(is.boolean(value), 'boolean', value), + symbol: (value) => assertType(is.symbol(value), 'symbol', value), + numericString: (value) => assertType(is.numericString(value), "string with a number" /* numericString */, value), + array: (value, assertion) => { + const assert = assertType; + assert(is.array(value), 'Array', value); + if (assertion) { + value.forEach(assertion); + } + }, + buffer: (value) => assertType(is.buffer(value), 'Buffer', value), + nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined" /* nullOrUndefined */, value), + object: (value) => assertType(is.object(value), 'Object', value), + iterable: (value) => assertType(is.iterable(value), "Iterable" /* iterable */, value), + asyncIterable: (value) => assertType(is.asyncIterable(value), "AsyncIterable" /* asyncIterable */, value), + generator: (value) => assertType(is.generator(value), 'Generator', value), + asyncGenerator: (value) => assertType(is.asyncGenerator(value), 'AsyncGenerator', value), + nativePromise: (value) => assertType(is.nativePromise(value), "native Promise" /* nativePromise */, value), + promise: (value) => assertType(is.promise(value), 'Promise', value), + generatorFunction: (value) => assertType(is.generatorFunction(value), 'GeneratorFunction', value), + asyncGeneratorFunction: (value) => assertType(is.asyncGeneratorFunction(value), 'AsyncGeneratorFunction', value), + // eslint-disable-next-line @typescript-eslint/ban-types + asyncFunction: (value) => assertType(is.asyncFunction(value), 'AsyncFunction', value), + // eslint-disable-next-line @typescript-eslint/ban-types + boundFunction: (value) => assertType(is.boundFunction(value), 'Function', value), + regExp: (value) => assertType(is.regExp(value), 'RegExp', value), + date: (value) => assertType(is.date(value), 'Date', value), + error: (value) => assertType(is.error(value), 'Error', value), + map: (value) => assertType(is.map(value), 'Map', value), + set: (value) => assertType(is.set(value), 'Set', value), + weakMap: (value) => assertType(is.weakMap(value), 'WeakMap', value), + weakSet: (value) => assertType(is.weakSet(value), 'WeakSet', value), + int8Array: (value) => assertType(is.int8Array(value), 'Int8Array', value), + uint8Array: (value) => assertType(is.uint8Array(value), 'Uint8Array', value), + uint8ClampedArray: (value) => assertType(is.uint8ClampedArray(value), 'Uint8ClampedArray', value), + int16Array: (value) => assertType(is.int16Array(value), 'Int16Array', value), + uint16Array: (value) => assertType(is.uint16Array(value), 'Uint16Array', value), + int32Array: (value) => assertType(is.int32Array(value), 'Int32Array', value), + uint32Array: (value) => assertType(is.uint32Array(value), 'Uint32Array', value), + float32Array: (value) => assertType(is.float32Array(value), 'Float32Array', value), + float64Array: (value) => assertType(is.float64Array(value), 'Float64Array', value), + bigInt64Array: (value) => assertType(is.bigInt64Array(value), 'BigInt64Array', value), + bigUint64Array: (value) => assertType(is.bigUint64Array(value), 'BigUint64Array', value), + arrayBuffer: (value) => assertType(is.arrayBuffer(value), 'ArrayBuffer', value), + sharedArrayBuffer: (value) => assertType(is.sharedArrayBuffer(value), 'SharedArrayBuffer', value), + dataView: (value) => assertType(is.dataView(value), 'DataView', value), + urlInstance: (value) => assertType(is.urlInstance(value), 'URL', value), + urlString: (value) => assertType(is.urlString(value), "string with a URL" /* urlString */, value), + truthy: (value) => assertType(is.truthy(value), "truthy" /* truthy */, value), + falsy: (value) => assertType(is.falsy(value), "falsy" /* falsy */, value), + nan: (value) => assertType(is.nan(value), "NaN" /* nan */, value), + primitive: (value) => assertType(is.primitive(value), "primitive" /* primitive */, value), + integer: (value) => assertType(is.integer(value), "integer" /* integer */, value), + safeInteger: (value) => assertType(is.safeInteger(value), "integer" /* safeInteger */, value), + plainObject: (value) => assertType(is.plainObject(value), "plain object" /* plainObject */, value), + typedArray: (value) => assertType(is.typedArray(value), "TypedArray" /* typedArray */, value), + arrayLike: (value) => assertType(is.arrayLike(value), "array-like" /* arrayLike */, value), + domElement: (value) => assertType(is.domElement(value), "HTMLElement" /* domElement */, value), + observable: (value) => assertType(is.observable(value), 'Observable', value), + nodeStream: (value) => assertType(is.nodeStream(value), "Node.js Stream" /* nodeStream */, value), + infinite: (value) => assertType(is.infinite(value), "infinite number" /* infinite */, value), + emptyArray: (value) => assertType(is.emptyArray(value), "empty array" /* emptyArray */, value), + nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array" /* nonEmptyArray */, value), + emptyString: (value) => assertType(is.emptyString(value), "empty string" /* emptyString */, value), + nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string" /* nonEmptyString */, value), + emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace" /* emptyStringOrWhitespace */, value), + emptyObject: (value) => assertType(is.emptyObject(value), "empty object" /* emptyObject */, value), + nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object" /* nonEmptyObject */, value), + emptySet: (value) => assertType(is.emptySet(value), "empty set" /* emptySet */, value), + nonEmptySet: (value) => assertType(is.nonEmptySet(value), "non-empty set" /* nonEmptySet */, value), + emptyMap: (value) => assertType(is.emptyMap(value), "empty map" /* emptyMap */, value), + nonEmptyMap: (value) => assertType(is.nonEmptyMap(value), "non-empty map" /* nonEmptyMap */, value), + // Numbers. + evenInteger: (value) => assertType(is.evenInteger(value), "even integer" /* evenInteger */, value), + oddInteger: (value) => assertType(is.oddInteger(value), "odd integer" /* oddInteger */, value), + // Two arguments. + directInstanceOf: (instance, class_) => assertType(is.directInstanceOf(instance, class_), "T" /* directInstanceOf */, instance), + inRange: (value, range) => assertType(is.inRange(value, range), "in range" /* inRange */, value), + // Variadic functions. + any: (predicate, ...values) => assertType(is.any(predicate, ...values), "predicate returns truthy for any value" /* any */, values), + all: (predicate, ...values) => assertType(is.all(predicate, ...values), "predicate returns truthy for all values" /* all */, values) +}; +// Some few keywords are reserved, but we'll populate them for Node.js users +// See https://github.com/Microsoft/TypeScript/issues/2536 +Object.defineProperties(is, { + class: { + value: is.class_ + }, + function: { + value: is.function_ + }, + null: { + value: is.null_ + } +}); +Object.defineProperties(exports.assert, { + class: { + value: exports.assert.class_ + }, + function: { + value: exports.assert.function_ + }, + null: { + value: exports.assert.null_ + } +}); +exports.default = is; +// For CommonJS default export support +module.exports = is; +module.exports.default = is; +module.exports.assert = exports.assert; diff --git a/.output/server/node_modules/@sindresorhus/is/package.json b/.output/server/node_modules/@sindresorhus/is/package.json new file mode 100644 index 0000000000..2eb2a4d232 --- /dev/null +++ b/.output/server/node_modules/@sindresorhus/is/package.json @@ -0,0 +1,96 @@ +{ + "name": "@sindresorhus/is", + "version": "3.1.2", + "description": "Type check values", + "license": "MIT", + "repository": "sindresorhus/is", + "funding": "https://github.com/sindresorhus/is?sponsor=1", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "main": "dist/index.js", + "engines": { + "node": ">=10" + }, + "scripts": { + "build": "del dist && tsc", + "test": "xo && ava", + "prepublishOnly": "npm run build" + }, + "files": [ + "dist" + ], + "keywords": [ + "type", + "types", + "is", + "check", + "checking", + "validate", + "validation", + "utility", + "util", + "typeof", + "instanceof", + "object", + "assert", + "assertion", + "test", + "kind", + "primitive", + "verify", + "compare", + "typescript", + "typeguards", + "types" + ], + "devDependencies": { + "@sindresorhus/tsconfig": "^0.7.0", + "@types/jsdom": "^16.1.0", + "@types/node": "^14.0.13", + "@types/zen-observable": "^0.8.0", + "@typescript-eslint/eslint-plugin": "^2.20.0", + "@typescript-eslint/parser": "^2.20.0", + "ava": "^3.3.0", + "del-cli": "^2.0.0", + "eslint-config-xo-typescript": "^0.26.0", + "jsdom": "^16.0.1", + "rxjs": "^6.4.0", + "tempy": "^0.4.0", + "ts-node": "^8.3.0", + "typescript": "~3.8.2", + "xo": "^0.26.1", + "zen-observable": "^0.8.8" + }, + "types": "dist/index.d.ts", + "sideEffects": false, + "ava": { + "extensions": [ + "ts" + ], + "require": [ + "ts-node/register" + ] + }, + "xo": { + "extends": "xo-typescript", + "extensions": [ + "ts" + ], + "parserOptions": { + "project": "./tsconfig.xo.json" + }, + "globals": [ + "BigInt", + "BigInt64Array", + "BigUint64Array" + ], + "rules": { + "@typescript-eslint/promise-function-async": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/explicit-function-return-type": "off" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@ungap/structured-clone/esm/deserialize.js b/.output/server/node_modules/@ungap/structured-clone/esm/deserialize.js new file mode 100644 index 0000000000..0fa70897dc --- /dev/null +++ b/.output/server/node_modules/@ungap/structured-clone/esm/deserialize.js @@ -0,0 +1,79 @@ +import { + VOID, PRIMITIVE, + ARRAY, OBJECT, + DATE, REGEXP, MAP, SET, + ERROR, BIGINT +} from './types.js'; + +const env = typeof self === 'object' ? self : globalThis; + +const deserializer = ($, _) => { + const as = (out, index) => { + $.set(index, out); + return out; + }; + + const unpair = index => { + if ($.has(index)) + return $.get(index); + + const [type, value] = _[index]; + switch (type) { + case PRIMITIVE: + case VOID: + return as(value, index); + case ARRAY: { + const arr = as([], index); + for (const index of value) + arr.push(unpair(index)); + return arr; + } + case OBJECT: { + const object = as({}, index); + for (const [key, index] of value) + object[unpair(key)] = unpair(index); + return object; + } + case DATE: + return as(new Date(value), index); + case REGEXP: { + const {source, flags} = value; + return as(new RegExp(source, flags), index); + } + case MAP: { + const map = as(new Map, index); + for (const [key, index] of value) + map.set(unpair(key), unpair(index)); + return map; + } + case SET: { + const set = as(new Set, index); + for (const index of value) + set.add(unpair(index)); + return set; + } + case ERROR: { + const {name, message} = value; + return as(new env[name](message), index); + } + case BIGINT: + return as(BigInt(value), index); + case 'BigInt': + return as(Object(BigInt(value)), index); + } + return as(new env[type](value), index); + }; + + return unpair; +}; + +/** + * @typedef {Array} Record a type representation + */ + +/** + * Returns a deserialized value from a serialized array of Records. + * @param {Record[]} serialized a previously serialized value. + * @returns {any} + */ +export const deserialize = serialized => deserializer(new Map, serialized)(0); diff --git a/.output/server/node_modules/@ungap/structured-clone/esm/index.js b/.output/server/node_modules/@ungap/structured-clone/esm/index.js new file mode 100644 index 0000000000..d3b47479ad --- /dev/null +++ b/.output/server/node_modules/@ungap/structured-clone/esm/index.js @@ -0,0 +1,25 @@ +import {deserialize} from './deserialize.js'; +import {serialize} from './serialize.js'; + +/** + * @typedef {Array} Record a type representation + */ + +/** + * Returns an array of serialized Records. + * @param {any} any a serializable value. + * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with + * a transfer option (ignored when polyfilled) and/or non standard fields that + * fallback to the polyfill if present. + * @returns {Record[]} + */ +export default typeof structuredClone === "function" ? + /* c8 ignore start */ + (any, options) => ( + options && ('json' in options || 'lossy' in options) ? + deserialize(serialize(any, options)) : structuredClone(any) + ) : + (any, options) => deserialize(serialize(any, options)); + /* c8 ignore stop */ + +export {deserialize, serialize}; diff --git a/.output/server/node_modules/@ungap/structured-clone/esm/serialize.js b/.output/server/node_modules/@ungap/structured-clone/esm/serialize.js new file mode 100644 index 0000000000..8e098ddca7 --- /dev/null +++ b/.output/server/node_modules/@ungap/structured-clone/esm/serialize.js @@ -0,0 +1,161 @@ +import { + VOID, PRIMITIVE, + ARRAY, OBJECT, + DATE, REGEXP, MAP, SET, + ERROR, BIGINT +} from './types.js'; + +const EMPTY = ''; + +const {toString} = {}; +const {keys} = Object; + +const typeOf = value => { + const type = typeof value; + if (type !== 'object' || !value) + return [PRIMITIVE, type]; + + const asString = toString.call(value).slice(8, -1); + switch (asString) { + case 'Array': + return [ARRAY, EMPTY]; + case 'Object': + return [OBJECT, EMPTY]; + case 'Date': + return [DATE, EMPTY]; + case 'RegExp': + return [REGEXP, EMPTY]; + case 'Map': + return [MAP, EMPTY]; + case 'Set': + return [SET, EMPTY]; + } + + if (asString.includes('Array')) + return [ARRAY, asString]; + + if (asString.includes('Error')) + return [ERROR, asString]; + + return [OBJECT, asString]; +}; + +const shouldSkip = ([TYPE, type]) => ( + TYPE === PRIMITIVE && + (type === 'function' || type === 'symbol') +); + +const serializer = (strict, json, $, _) => { + + const as = (out, value) => { + const index = _.push(out) - 1; + $.set(value, index); + return index; + }; + + const pair = value => { + if ($.has(value)) + return $.get(value); + + let [TYPE, type] = typeOf(value); + switch (TYPE) { + case PRIMITIVE: { + let entry = value; + switch (type) { + case 'bigint': + TYPE = BIGINT; + entry = value.toString(); + break; + case 'function': + case 'symbol': + if (strict) + throw new TypeError('unable to serialize ' + type); + entry = null; + break; + case 'undefined': + return as([VOID], value); + } + return as([TYPE, entry], value); + } + case ARRAY: { + if (type) + return as([type, [...value]], value); + + const arr = []; + const index = as([TYPE, arr], value); + for (const entry of value) + arr.push(pair(entry)); + return index; + } + case OBJECT: { + if (type) { + switch (type) { + case 'BigInt': + return as([type, value.toString()], value); + case 'Boolean': + case 'Number': + case 'String': + return as([type, value.valueOf()], value); + } + } + + if (json && ('toJSON' in value)) + return pair(value.toJSON()); + + const entries = []; + const index = as([TYPE, entries], value); + for (const key of keys(value)) { + if (strict || !shouldSkip(typeOf(value[key]))) + entries.push([pair(key), pair(value[key])]); + } + return index; + } + case DATE: + return as([TYPE, value.toISOString()], value); + case REGEXP: { + const {source, flags} = value; + return as([TYPE, {source, flags}], value); + } + case MAP: { + const entries = []; + const index = as([TYPE, entries], value); + for (const [key, entry] of value) { + if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) + entries.push([pair(key), pair(entry)]); + } + return index; + } + case SET: { + const entries = []; + const index = as([TYPE, entries], value); + for (const entry of value) { + if (strict || !shouldSkip(typeOf(entry))) + entries.push(pair(entry)); + } + return index; + } + } + + const {message} = value; + return as([TYPE, {name: type, message}], value); + }; + + return pair; +}; + +/** + * @typedef {Array} Record a type representation + */ + +/** + * Returns an array of serialized Records. + * @param {any} value a serializable value. + * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that, + * if `true`, will not throw errors on incompatible types, and behave more + * like JSON stringify would behave. Symbol and Function will be discarded. + * @returns {Record[]} + */ + export const serialize = (value, {json, lossy} = {}) => { + const _ = []; + return serializer(!(json || lossy), !!json, new Map, _)(value), _; +}; diff --git a/.output/server/node_modules/@ungap/structured-clone/esm/types.js b/.output/server/node_modules/@ungap/structured-clone/esm/types.js new file mode 100644 index 0000000000..50e60ca067 --- /dev/null +++ b/.output/server/node_modules/@ungap/structured-clone/esm/types.js @@ -0,0 +1,11 @@ +export const VOID = -1; +export const PRIMITIVE = 0; +export const ARRAY = 1; +export const OBJECT = 2; +export const DATE = 3; +export const REGEXP = 4; +export const MAP = 5; +export const SET = 6; +export const ERROR = 7; +export const BIGINT = 8; +// export const SYMBOL = 9; diff --git a/.output/server/node_modules/@ungap/structured-clone/package.json b/.output/server/node_modules/@ungap/structured-clone/package.json new file mode 100644 index 0000000000..2489a26c14 --- /dev/null +++ b/.output/server/node_modules/@ungap/structured-clone/package.json @@ -0,0 +1,53 @@ +{ + "name": "@ungap/structured-clone", + "version": "1.2.0", + "description": "A structuredClone polyfill", + "main": "./cjs/index.js", + "scripts": { + "build": "npm run cjs && npm run rollup:json && npm run test", + "cjs": "ascjs esm cjs", + "coverage": "c8 report --reporter=text-lcov > ./coverage/lcov.info", + "rollup:json": "rollup --config rollup/json.config.js", + "test": "c8 node test/index.js" + }, + "keywords": [ + "recursion", + "structured", + "clone", + "algorithm" + ], + "author": "Andrea Giammarchi", + "license": "ISC", + "devDependencies": { + "@rollup/plugin-node-resolve": "^15.0.2", + "@rollup/plugin-terser": "^0.4.1", + "ascjs": "^5.0.1", + "c8": "^7.13.0", + "coveralls": "^3.1.1", + "rollup": "^3.21.4" + }, + "module": "./esm/index.js", + "type": "module", + "exports": { + ".": { + "import": "./esm/index.js", + "default": "./cjs/index.js" + }, + "./json": { + "import": "./esm/json.js", + "default": "./cjs/json.js" + }, + "./package.json": "./package.json" + }, + "directories": { + "test": "test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ungap/structured-clone.git" + }, + "bugs": { + "url": "https://github.com/ungap/structured-clone/issues" + }, + "homepage": "https://github.com/ungap/structured-clone#readme" +} \ No newline at end of file diff --git a/.output/server/node_modules/@unhead/dom/dist/index.mjs b/.output/server/node_modules/@unhead/dom/dist/index.mjs new file mode 100644 index 0000000000..5fd97f6d01 --- /dev/null +++ b/.output/server/node_modules/@unhead/dom/dist/index.mjs @@ -0,0 +1,133 @@ +import { HasElementTags, hashTag, normaliseProps, tagDedupeKey, defineHeadPlugin } from '@unhead/shared'; + +async function elementToTag($el) { + const tag = { + tag: $el.tagName.toLowerCase(), + props: await normaliseProps( + $el.getAttributeNames().reduce((props, name) => ({ ...props, [name]: $el.getAttribute(name) }), {}) + ), + innerHTML: $el.innerHTML + }; + tag._d = tagDedupeKey(tag); + return tag; +} +async function renderDOMHead(head, options = {}) { + const dom = options.document || head.resolvedOptions.document; + if (!dom) + return; + const beforeRenderCtx = { shouldRender: head.dirty, tags: [] }; + await head.hooks.callHook("dom:beforeRender", beforeRenderCtx); + if (!beforeRenderCtx.shouldRender) + return; + const tags = (await head.resolveTags()).map((tag) => ({ + tag, + id: HasElementTags.includes(tag.tag) ? hashTag(tag) : tag.tag, + shouldRender: true + })); + let state = head._dom; + if (!state) { + state = { + elMap: { htmlAttrs: dom.documentElement, bodyAttrs: dom.body } + }; + for (const key of ["body", "head"]) { + const children = dom?.[key]?.children; + for (const c of [...children].filter((c2) => HasElementTags.includes(c2.tagName.toLowerCase()))) + state.elMap[c.getAttribute("data-hid") || hashTag(await elementToTag(c))] = c; + } + } + state.pendingSideEffects = { ...state.sideEffects || {} }; + state.sideEffects = {}; + function track(id, scope, fn) { + const k = `${id}:${scope}`; + state.sideEffects[k] = fn; + delete state.pendingSideEffects[k]; + } + function trackCtx({ id, $el, tag }) { + const isAttrTag = tag.tag.endsWith("Attrs"); + state.elMap[id] = $el; + if (!isAttrTag) { + ["textContent", "innerHTML"].forEach((k) => { + tag[k] && tag[k] !== $el[k] && ($el[k] = tag[k]); + }); + track(id, "el", () => { + state.elMap[id].remove(); + delete state.elMap[id]; + }); + } + Object.entries(tag.props).forEach(([k, value]) => { + const ck = `attr:${k}`; + if (k === "class") { + for (const c of (value || "").split(" ").filter(Boolean)) { + isAttrTag && track(id, `${ck}:${c}`, () => $el.classList.remove(c)); + !$el.classList.contains(c) && $el.classList.add(c); + } + } else { + $el.getAttribute(k) !== value && $el.setAttribute(k, value === true ? "" : String(value)); + isAttrTag && track(id, ck, () => $el.removeAttribute(k)); + } + }); + } + const pending = []; + const frag = { + bodyClose: void 0, + bodyOpen: void 0, + head: void 0 + }; + for (const ctx of tags) { + const { tag, shouldRender, id } = ctx; + if (!shouldRender) + continue; + if (tag.tag === "title") { + dom.title = tag.textContent; + continue; + } + ctx.$el = ctx.$el || state.elMap[id]; + if (ctx.$el) + trackCtx(ctx); + else + HasElementTags.includes(tag.tag) && pending.push(ctx); + } + for (const ctx of pending) { + const pos = ctx.tag.tagPosition || "head"; + ctx.$el = dom.createElement(ctx.tag.tag); + trackCtx(ctx); + frag[pos] = frag[pos] || dom.createDocumentFragment(); + frag[pos].appendChild(ctx.$el); + } + for (const ctx of tags) + await head.hooks.callHook("dom:renderTag", ctx, dom, track); + frag.head && dom.head.appendChild(frag.head); + frag.bodyOpen && dom.body.insertBefore(frag.bodyOpen, dom.body.firstChild); + frag.bodyClose && dom.body.appendChild(frag.bodyClose); + Object.values(state.pendingSideEffects).forEach((fn) => fn()); + head._dom = state; + head.dirty = false; + await head.hooks.callHook("dom:rendered", { renders: tags }); +} + +async function debouncedRenderDOMHead(head, options = {}) { + const fn = options.delayFn || ((fn2) => setTimeout(fn2, 10)); + return head._domUpdatePromise = head._domUpdatePromise || new Promise((resolve) => fn(async () => { + await renderDOMHead(head, options); + delete head._domUpdatePromise; + resolve(); + })); +} + +// @__NO_SIDE_EFFECTS__ +function DomPlugin(options) { + return defineHeadPlugin((head) => { + const initialPayload = head.resolvedOptions.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML || false; + initialPayload && head.push(JSON.parse(initialPayload)); + return { + mode: "client", + hooks: { + "entries:updated": function(head2) { + debouncedRenderDOMHead(head2, options); + } + } + }; + }); +} + +export { DomPlugin, debouncedRenderDOMHead, renderDOMHead }; diff --git a/.output/server/node_modules/@unhead/dom/package.json b/.output/server/node_modules/@unhead/dom/package.json new file mode 100644 index 0000000000..0705679815 --- /dev/null +++ b/.output/server/node_modules/@unhead/dom/package.json @@ -0,0 +1,40 @@ +{ + "name": "@unhead/dom", + "type": "module", + "version": "1.8.1", + "author": "Harlan Wilton ", + "license": "MIT", + "funding": "https://github.com/sponsors/harlan-zw", + "homepage": "https://unhead.unjs.io", + "repository": { + "type": "git", + "url": "git+https://github.com/unjs/unhead.git", + "directory": "packages/dom" + }, + "bugs": { + "url": "https://github.com/unjs/unhead/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "files": [ + "dist" + ], + "dependencies": { + "@unhead/schema": "1.8.1", + "@unhead/shared": "1.8.1" + }, + "scripts": { + "build": "unbuild .", + "stub": "unbuild . --stub", + "export:sizes": "npx export-size . -r" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@unhead/shared/dist/index.mjs b/.output/server/node_modules/@unhead/shared/dist/index.mjs new file mode 100644 index 0000000000..2aa736aa65 --- /dev/null +++ b/.output/server/node_modules/@unhead/shared/dist/index.mjs @@ -0,0 +1,646 @@ +function asArray$1(value) { + return Array.isArray(value) ? value : [value]; +} + +const SelfClosingTags = ["meta", "link", "base"]; +const TagsWithInnerContent = ["title", "titleTemplate", "script", "style", "noscript"]; +const HasElementTags = [ + "base", + "meta", + "link", + "style", + "script", + "noscript" +]; +const ValidHeadTags = [ + "title", + "titleTemplate", + "templateParams", + "base", + "htmlAttrs", + "bodyAttrs", + "meta", + "link", + "style", + "script", + "noscript" +]; +const UniqueTags = ["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"]; +const TagConfigKeys = ["tagPosition", "tagPriority", "tagDuplicateStrategy", "innerHTML", "textContent", "processTemplateParams"]; +const IsBrowser = typeof window !== "undefined"; +const composableNames = [ + "getActiveHead", + "useHead", + "useSeoMeta", + "useHeadSafe", + "useServerHead", + "useServerSeoMeta", + "useServerHeadSafe" +]; + +function defineHeadPlugin(plugin) { + return plugin; +} + +function hashCode(s) { + let h = 9; + for (let i = 0; i < s.length; ) + h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9); + return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase(); +} +function hashTag(tag) { + return tag._h || hashCode(tag._d ? tag._d : `${tag.tag}:${tag.textContent || tag.innerHTML || ""}:${Object.entries(tag.props).map(([key, value]) => `${key}:${String(value)}`).join(",")}`); +} + +function tagDedupeKey(tag, fn) { + const { props, tag: tagName } = tag; + if (UniqueTags.includes(tagName)) + return tagName; + if (tagName === "link" && props.rel === "canonical") + return "canonical"; + if (props.charset) + return "charset"; + const name = ["id"]; + if (tagName === "meta") + name.push(...["name", "property", "http-equiv"]); + for (const n of name) { + if (typeof props[n] !== "undefined") { + const val = String(props[n]); + if (fn && !fn(val)) + return false; + return `${tagName}:${n}:${val}`; + } + } + return false; +} + +function resolveTitleTemplate(template, title) { + if (template == null) + return title || null; + if (typeof template === "function") + return template(title); + return template; +} + +function asArray(input) { + return Array.isArray(input) ? input : [input]; +} +const InternalKeySymbol = "_$key"; +function packObject(input, options) { + const keys = Object.keys(input); + let [k, v] = keys; + options = options || {}; + options.key = options.key || k; + options.value = options.value || v; + options.resolveKey = options.resolveKey || ((k2) => k2); + const resolveKey = (index) => { + const arr = asArray(options?.[index]); + return arr.find((k2) => { + if (typeof k2 === "string" && k2.includes(".")) { + return k2; + } + return k2 && keys.includes(k2); + }); + }; + const resolveValue = (k2, input2) => { + if (k2.includes(".")) { + const paths = k2.split("."); + let val = input2; + for (const path of paths) + val = val[path]; + return val; + } + return input2[k2]; + }; + k = resolveKey("key") || k; + v = resolveKey("value") || v; + const dedupeKeyPrefix = input.key ? `${InternalKeySymbol}${input.key}-` : ""; + let keyValue = resolveValue(k, input); + keyValue = options.resolveKey(keyValue); + return { + [`${dedupeKeyPrefix}${keyValue}`]: resolveValue(v, input) + }; +} + +function packArray(input, options) { + const packed = {}; + for (const i of input) { + const packedObj = packObject(i, options); + const pKey = Object.keys(packedObj)[0]; + const isDedupeKey = pKey.startsWith(InternalKeySymbol); + if (!isDedupeKey && packed[pKey]) { + packed[pKey] = Array.isArray(packed[pKey]) ? packed[pKey] : [packed[pKey]]; + packed[pKey].push(Object.values(packedObj)[0]); + } else { + packed[isDedupeKey ? pKey.split("-").slice(1).join("-") || pKey : pKey] = packedObj[pKey]; + } + } + return packed; +} + +function unpackToArray(input, options) { + const unpacked = []; + const kFn = options.resolveKeyData || ((ctx) => ctx.key); + const vFn = options.resolveValueData || ((ctx) => ctx.value); + for (const [k, v] of Object.entries(input)) { + unpacked.push(...(Array.isArray(v) ? v : [v]).map((i) => { + const ctx = { key: k, value: i }; + const val = vFn(ctx); + if (typeof val === "object") + return unpackToArray(val, options); + if (Array.isArray(val)) + return val; + return { + [typeof options.key === "function" ? options.key(ctx) : options.key]: kFn(ctx), + [typeof options.value === "function" ? options.value(ctx) : options.value]: val + }; + }).flat()); + } + return unpacked; +} + +function unpackToString(value, options) { + return Object.entries(value).map(([key, value2]) => { + if (typeof value2 === "object") + value2 = unpackToString(value2, options); + if (options.resolve) { + const resolved = options.resolve({ key, value: value2 }); + if (resolved) + return resolved; + } + if (typeof value2 === "number") + value2 = value2.toString(); + if (typeof value2 === "string" && options.wrapValue) { + value2 = value2.replace(new RegExp(options.wrapValue, "g"), `\\${options.wrapValue}`); + value2 = `${options.wrapValue}${value2}${options.wrapValue}`; + } + return `${key}${options.keyValueSeparator || ""}${value2}`; + }).join(options.entrySeparator || ""); +} + +const p = (p2) => ({ keyValue: p2, metaKey: "property" }); +const k = (p2) => ({ keyValue: p2 }); +const MetaPackingSchema = { + appleItunesApp: { + unpack: { + entrySeparator: ", ", + resolve({ key, value }) { + return `${fixKeyCase(key)}=${value}`; + } + } + }, + articleExpirationTime: p("article:expiration_time"), + articleModifiedTime: p("article:modified_time"), + articlePublishedTime: p("article:published_time"), + bookReleaseDate: p("book:release_date"), + charset: { + metaKey: "charset" + }, + contentSecurityPolicy: { + unpack: { + entrySeparator: "; ", + resolve({ key, value }) { + return `${fixKeyCase(key)} ${value}`; + } + }, + metaKey: "http-equiv" + }, + contentType: { + metaKey: "http-equiv" + }, + defaultStyle: { + metaKey: "http-equiv" + }, + fbAppId: p("fb:app_id"), + msapplicationConfig: k("msapplication-Config"), + msapplicationTileColor: k("msapplication-TileColor"), + msapplicationTileImage: k("msapplication-TileImage"), + ogAudioSecureUrl: p("og:audio:secure_url"), + ogAudioUrl: p("og:audio"), + ogImageSecureUrl: p("og:image:secure_url"), + ogImageUrl: p("og:image"), + ogSiteName: p("og:site_name"), + ogVideoSecureUrl: p("og:video:secure_url"), + ogVideoUrl: p("og:video"), + profileFirstName: p("profile:first_name"), + profileLastName: p("profile:last_name"), + profileUsername: p("profile:username"), + refresh: { + metaKey: "http-equiv", + unpack: { + entrySeparator: ";", + keyValueSeparator: "=", + resolve({ key, value }) { + if (key === "seconds") + return `${value}`; + } + } + }, + robots: { + unpack: { + entrySeparator: ", ", + resolve({ key, value }) { + if (typeof value === "boolean") + return `${fixKeyCase(key)}`; + else + return `${fixKeyCase(key)}:${value}`; + } + } + }, + xUaCompatible: { + metaKey: "http-equiv" + } +}; +const openGraphNamespaces = [ + "og", + "book", + "article", + "profile" +]; +function resolveMetaKeyType(key) { + const fKey = fixKeyCase(key).split(":")[0]; + if (openGraphNamespaces.includes(fKey)) + return "property"; + return MetaPackingSchema[key]?.metaKey || "name"; +} +function resolveMetaKeyValue(key) { + return MetaPackingSchema[key]?.keyValue || fixKeyCase(key); +} +function fixKeyCase(key) { + const updated = key.replace(/([A-Z])/g, "-$1").toLowerCase(); + const fKey = updated.split("-")[0]; + if (openGraphNamespaces.includes(fKey) || fKey === "twitter") + return key.replace(/([A-Z])/g, ":$1").toLowerCase(); + return updated; +} +function changeKeyCasingDeep(input) { + if (Array.isArray(input)) { + return input.map((entry) => changeKeyCasingDeep(entry)); + } + if (typeof input !== "object" || Array.isArray(input)) + return input; + const output = {}; + for (const [key, value] of Object.entries(input)) + output[fixKeyCase(key)] = changeKeyCasingDeep(value); + return output; +} +function resolvePackedMetaObjectValue(value, key) { + const definition = MetaPackingSchema[key]; + if (key === "refresh") + return `${value.seconds};url=${value.url}`; + return unpackToString( + changeKeyCasingDeep(value), + { + entrySeparator: ", ", + resolve({ value: value2, key: key2 }) { + if (value2 === null) + return ""; + if (typeof value2 === "boolean") + return `${key2}`; + }, + ...definition?.unpack + } + ); +} +const ObjectArrayEntries = ["og:image", "og:video", "og:audio", "twitter:image"]; +function sanitize(input) { + const out = {}; + Object.entries(input).forEach(([k2, v]) => { + if (String(v) !== "false" && k2) + out[k2] = v; + }); + return out; +} +function handleObjectEntry(key, v) { + const value = sanitize(v); + const fKey = fixKeyCase(key); + const attr = resolveMetaKeyType(fKey); + if (ObjectArrayEntries.includes(fKey)) { + const input = {}; + Object.entries(value).forEach(([k2, v2]) => { + input[`${key}${k2 === "url" ? "" : `${k2.charAt(0).toUpperCase()}${k2.slice(1)}`}`] = v2; + }); + return unpackMeta(input).sort((a, b) => (a[attr]?.length || 0) - (b[attr]?.length || 0)); + } + return [{ [attr]: fKey, ...value }]; +} +function unpackMeta(input) { + const extras = []; + const primitives = {}; + Object.entries(input).forEach(([key, value]) => { + if (!Array.isArray(value)) { + if (typeof value === "object" && value) { + if (ObjectArrayEntries.includes(fixKeyCase(key))) { + extras.push(...handleObjectEntry(key, value)); + return; + } + primitives[key] = sanitize(value); + } else { + primitives[key] = value; + } + return; + } + value.forEach((v) => { + extras.push(...typeof v === "string" ? unpackMeta({ [key]: v }) : handleObjectEntry(key, v)); + }); + }); + const meta = unpackToArray(primitives, { + key({ key }) { + return resolveMetaKeyType(key); + }, + value({ key }) { + return key === "charset" ? "charset" : "content"; + }, + resolveKeyData({ key }) { + return resolveMetaKeyValue(key); + }, + resolveValueData({ value, key }) { + if (value === null) + return "_null"; + if (typeof value === "object") + return resolvePackedMetaObjectValue(value, key); + return typeof value === "number" ? value.toString() : value; + } + }); + return [...extras, ...meta].map((m) => { + if (m.content === "_null") + m.content = null; + return m; + }); +} +function packMeta(inputs) { + const mappedPackingSchema = Object.entries(MetaPackingSchema).map(([key, value]) => [key, value.keyValue]); + return packArray(inputs, { + key: ["name", "property", "httpEquiv", "http-equiv", "charset"], + value: ["content", "charset"], + resolveKey(k2) { + let key = mappedPackingSchema.filter((sk) => sk[1] === k2)?.[0]?.[0] || k2; + const replacer = (_, letter) => letter?.toUpperCase(); + key = key.replace(/:([a-z])/g, replacer).replace(/-([a-z])/g, replacer); + return key; + } + }); +} + +const WhitelistAttributes = { + htmlAttrs: ["id", "class", "lang", "dir"], + bodyAttrs: ["id", "class"], + meta: ["id", "name", "property", "charset", "content"], + noscript: ["id", "textContent"], + script: ["id", "type", "textContent"], + link: ["id", "color", "crossorigin", "fetchpriority", "href", "hreflang", "imagesrcset", "imagesizes", "integrity", "media", "referrerpolicy", "rel", "sizes", "type"] +}; +function acceptDataAttrs(value) { + const filtered = {}; + Object.keys(value || {}).filter((a) => a.startsWith("data-")).forEach((a) => { + filtered[a] = value[a]; + }); + return filtered; +} +function whitelistSafeInput(input) { + const filtered = {}; + Object.keys(input).forEach((key) => { + const tagValue = input[key]; + if (!tagValue) + return; + switch (key) { + case "title": + case "titleTemplate": + case "templateParams": + filtered[key] = tagValue; + break; + case "htmlAttrs": + case "bodyAttrs": + filtered[key] = acceptDataAttrs(tagValue); + WhitelistAttributes[key].forEach((a) => { + if (tagValue[a]) + filtered[key][a] = tagValue[a]; + }); + break; + case "meta": + if (Array.isArray(tagValue)) { + filtered[key] = tagValue.map((meta) => { + const safeMeta = acceptDataAttrs(meta); + WhitelistAttributes.meta.forEach((key2) => { + if (meta[key2]) + safeMeta[key2] = meta[key2]; + }); + return safeMeta; + }).filter((meta) => Object.keys(meta).length > 0); + } + break; + case "link": + if (Array.isArray(tagValue)) { + filtered[key] = tagValue.map((meta) => { + const link = acceptDataAttrs(meta); + WhitelistAttributes.link.forEach((key2) => { + const val = meta[key2]; + if (key2 === "rel" && ["stylesheet", "canonical", "modulepreload", "prerender", "preload", "prefetch"].includes(val)) + return; + if (key2 === "href") { + if (val.includes("javascript:") || val.includes("data:")) + return; + link[key2] = val; + } else if (val) { + link[key2] = val; + } + }); + return link; + }).filter((link) => Object.keys(link).length > 1 && !!link.rel); + } + break; + case "noscript": + if (Array.isArray(tagValue)) { + filtered[key] = tagValue.map((meta) => { + const noscript = acceptDataAttrs(meta); + WhitelistAttributes.noscript.forEach((key2) => { + if (meta[key2]) + noscript[key2] = meta[key2]; + }); + return noscript; + }).filter((meta) => Object.keys(meta).length > 0); + } + break; + case "script": + if (Array.isArray(tagValue)) { + filtered[key] = tagValue.map((script) => { + const safeScript = acceptDataAttrs(script); + WhitelistAttributes.script.forEach((s) => { + if (script[s]) { + if (s === "textContent") { + try { + const jsonVal = typeof script[s] === "string" ? JSON.parse(script[s]) : script[s]; + safeScript[s] = JSON.stringify(jsonVal, null, 0); + } catch (e) { + } + } else { + safeScript[s] = script[s]; + } + } + }); + return safeScript; + }).filter((meta) => Object.keys(meta).length > 0); + } + break; + } + }); + return filtered; +} + +async function normaliseTag(tagName, input, e) { + const tag = { + tag: tagName, + props: await normaliseProps( + // explicitly check for an object + // @ts-expect-error untyped + typeof input === "object" && typeof input !== "function" && !(input instanceof Promise) ? { ...input } : { [["script", "noscript", "style"].includes(tagName) ? "innerHTML" : "textContent"]: input }, + ["templateParams", "titleTemplate"].includes(tagName) + ) + }; + TagConfigKeys.forEach((k) => { + const val = typeof tag.props[k] !== "undefined" ? tag.props[k] : e[k]; + if (typeof val !== "undefined") { + if (!["innerHTML", "textContent"].includes(k) || TagsWithInnerContent.includes(tag.tag)) { + tag[k] = val; + } + delete tag.props[k]; + } + }); + if (tag.props.body) { + tag.tagPosition = "bodyClose"; + delete tag.props.body; + } + if (tag.props.children) { + tag.innerHTML = tag.props.children; + delete tag.props.children; + } + if (tag.tag === "script") { + if (typeof tag.innerHTML === "object") { + tag.innerHTML = JSON.stringify(tag.innerHTML); + tag.props.type = tag.props.type || "application/json"; + } + if (tag.innerHTML && ["application/ld+json", "application/json"].includes(tag.props.type)) + tag.innerHTML = tag.innerHTML.replace(/ ({ ...tag, props: { ...tag.props, content: v } })) : tag; +} +function normaliseClassProp(v) { + if (typeof v === "object" && !Array.isArray(v)) { + v = Object.keys(v).filter((k) => v[k]); + } + return (Array.isArray(v) ? v.join(" ") : v).split(" ").filter((c) => c.trim()).filter(Boolean).join(" "); +} +async function normaliseProps(props, virtual) { + for (const k of Object.keys(props)) { + if (k === "class") { + props[k] = normaliseClassProp(props[k]); + continue; + } + if (props[k] instanceof Promise) + props[k] = await props[k]; + if (!virtual && !TagConfigKeys.includes(k)) { + const v = String(props[k]); + const isDataKey = k.startsWith("data-"); + if (v === "true" || v === "") { + props[k] = isDataKey ? "true" : true; + } else if (!props[k]) { + if (isDataKey && v === "false") + props[k] = "false"; + else + delete props[k]; + } + } + } + return props; +} +const TagEntityBits = 10; +async function normaliseEntryTags(e) { + const tagPromises = []; + Object.entries(e.resolvedInput).filter(([k, v]) => typeof v !== "undefined" && ValidHeadTags.includes(k)).forEach(([k, value]) => { + const v = asArray$1(value); + tagPromises.push(...v.map((props) => normaliseTag(k, props, e)).flat()); + }); + return (await Promise.all(tagPromises)).flat().filter(Boolean).map((t, i) => { + t._e = e._i; + e.mode && (t._m = e.mode); + t._p = (e._i << TagEntityBits) + i; + return t; + }); +} + +const TAG_WEIGHTS = { + // tags + base: -10, + title: 10 +}; +const TAG_ALIASES = { + // relative scores to their default values + critical: -80, + high: -10, + low: 20 +}; +function tagWeight(tag) { + let weight = 100; + const priority = tag.tagPriority; + if (typeof priority === "number") + return priority; + if (tag.tag === "meta") { + if (tag.props["http-equiv"] === "content-security-policy") + weight = -30; + if (tag.props.charset) + weight = -20; + if (tag.props.name === "viewport") + weight = -15; + } else if (tag.tag === "link" && tag.props.rel === "preconnect") { + weight = 20; + } else if (tag.tag in TAG_WEIGHTS) { + weight = TAG_WEIGHTS[tag.tag]; + } + if (typeof priority === "string" && priority in TAG_ALIASES) { + return weight + TAG_ALIASES[priority]; + } + return weight; +} +const SortModifiers = [{ prefix: "before:", offset: -1 }, { prefix: "after:", offset: 1 }]; + +const NetworkEvents = ["onload", "onerror", "onabort", "onprogress", "onloadstart"]; + +const sepSub = "%separator"; +function processTemplateParams(s, p, sep) { + if (typeof s !== "string" || !s.includes("%")) + return s; + function sub(token) { + let val; + if (["s", "pageTitle"].includes(token)) { + val = p.pageTitle; + } else if (token.includes(".")) { + val = token.split(".").reduce((acc, key) => acc ? acc[key] || void 0 : void 0, p); + } else { + val = p[token]; + } + return typeof val !== "undefined" ? (val || "").replace(/"/g, '\\"') : false; + } + let decoded = s; + try { + decoded = decodeURI(s); + } catch { + } + const tokens = (decoded.match(/%(\w+\.+\w+)|%(\w+)/g) || []).sort().reverse(); + tokens.forEach((token) => { + const re = sub(token.slice(1)); + if (typeof re === "string") { + s = s.replace(new RegExp(`\\${token}(\\W|$)`, "g"), (_, args) => `${re}${args}`).trim(); + } + }); + if (s.includes(sepSub)) { + if (s.endsWith(sepSub)) + s = s.slice(0, -sepSub.length).trim(); + if (s.startsWith(sepSub)) + s = s.slice(sepSub.length).trim(); + s = s.replace(new RegExp(`\\${sepSub}\\s*\\${sepSub}`, "g"), sepSub); + s = processTemplateParams(s, { separator: sep }, sep); + } + return s; +} + +export { HasElementTags, IsBrowser, NetworkEvents, SelfClosingTags, SortModifiers, TAG_ALIASES, TAG_WEIGHTS, TagConfigKeys, TagEntityBits, TagsWithInnerContent, UniqueTags, ValidHeadTags, asArray$1 as asArray, composableNames, defineHeadPlugin, hashCode, hashTag, normaliseClassProp, normaliseEntryTags, normaliseProps, normaliseTag, packMeta, processTemplateParams, resolveMetaKeyType, resolveMetaKeyValue, resolvePackedMetaObjectValue, resolveTitleTemplate, tagDedupeKey, tagWeight, unpackMeta, whitelistSafeInput }; diff --git a/.output/server/node_modules/@unhead/shared/package.json b/.output/server/node_modules/@unhead/shared/package.json new file mode 100644 index 0000000000..34b483d600 --- /dev/null +++ b/.output/server/node_modules/@unhead/shared/package.json @@ -0,0 +1,47 @@ +{ + "name": "@unhead/shared", + "type": "module", + "version": "1.8.1", + "author": "Harlan Wilton ", + "license": "MIT", + "funding": "https://github.com/sponsors/harlan-zw", + "homepage": "https://unhead.unjs.io", + "repository": { + "type": "git", + "url": "git+https://github.com/unjs/unhead.git", + "directory": "packages/schema" + }, + "bugs": { + "url": "https://github.com/unjs/unhead/issues" + }, + "keywords": [ + "head", + "meta tags", + "types" + ], + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "files": [ + "dist" + ], + "dependencies": { + "@unhead/schema": "1.8.1" + }, + "devDependencies": { + "packrup": "^0.1.0" + }, + "scripts": { + "build": "unbuild .", + "stub": "unbuild . --stub", + "export:sizes": "npx export-size . -r" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@unhead/ssr/dist/index.mjs b/.output/server/node_modules/@unhead/ssr/dist/index.mjs new file mode 100644 index 0000000000..732a57c396 --- /dev/null +++ b/.output/server/node_modules/@unhead/ssr/dist/index.mjs @@ -0,0 +1,84 @@ +import { TagsWithInnerContent, SelfClosingTags } from '@unhead/shared'; + +function encodeAttribute(value) { + return String(value).replace(/"/g, """); +} +function propsToString(props) { + const attrs = []; + for (const [key, value] of Object.entries(props)) { + if (value !== false && value !== null) + attrs.push(value === true ? key : `${key}="${encodeAttribute(value)}"`); + } + return `${attrs.length > 0 ? " " : ""}${attrs.join(" ")}`; +} + +function escapeHtml(str) { + return str.replace(/[&<>"'/]/g, (char) => { + switch (char) { + case "&": + return "&"; + case "<": + return "<"; + case ">": + return ">"; + case '"': + return """; + case "'": + return "'"; + case "/": + return "/"; + default: + return char; + } + }); +} +function tagToString(tag) { + const attrs = propsToString(tag.props); + const openTag = `<${tag.tag}${attrs}>`; + if (!TagsWithInnerContent.includes(tag.tag)) + return SelfClosingTags.includes(tag.tag) ? openTag : `${openTag}`; + let content = String(tag.innerHTML || ""); + if (tag.textContent) + content = escapeHtml(String(tag.textContent)); + return SelfClosingTags.includes(tag.tag) ? openTag : `${openTag}${content}`; +} + +function ssrRenderTags(tags) { + const schema = { htmlAttrs: {}, bodyAttrs: {}, tags: { head: [], bodyClose: [], bodyOpen: [] } }; + for (const tag of tags) { + if (tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs") { + schema[tag.tag] = { ...schema[tag.tag], ...tag.props }; + continue; + } + schema.tags[tag.tagPosition || "head"].push(tagToString(tag)); + } + return { + headTags: schema.tags.head.join("\n"), + bodyTags: schema.tags.bodyClose.join("\n"), + bodyTagsOpen: schema.tags.bodyOpen.join("\n"), + htmlAttrs: propsToString(schema.htmlAttrs), + bodyAttrs: propsToString(schema.bodyAttrs) + }; +} + +async function renderSSRHead(head) { + const beforeRenderCtx = { shouldRender: true }; + await head.hooks.callHook("ssr:beforeRender", beforeRenderCtx); + if (!beforeRenderCtx.shouldRender) { + return { + headTags: "", + bodyTags: "", + bodyTagsOpen: "", + htmlAttrs: "", + bodyAttrs: "" + }; + } + const ctx = { tags: await head.resolveTags() }; + await head.hooks.callHook("ssr:render", ctx); + const html = ssrRenderTags(ctx.tags); + const renderCtx = { tags: ctx.tags, html }; + await head.hooks.callHook("ssr:rendered", renderCtx); + return renderCtx.html; +} + +export { escapeHtml, propsToString, renderSSRHead, ssrRenderTags, tagToString }; diff --git a/.output/server/node_modules/@unhead/ssr/package.json b/.output/server/node_modules/@unhead/ssr/package.json new file mode 100644 index 0000000000..a4fb554b9f --- /dev/null +++ b/.output/server/node_modules/@unhead/ssr/package.json @@ -0,0 +1,40 @@ +{ + "name": "@unhead/ssr", + "type": "module", + "version": "1.8.1", + "author": "Harlan Wilton ", + "license": "MIT", + "funding": "https://github.com/sponsors/harlan-zw", + "homepage": "https://unhead.unjs.io", + "repository": { + "type": "git", + "url": "git+https://github.com/unjs/unhead.git", + "directory": "packages/ssr" + }, + "bugs": { + "url": "https://github.com/unjs/unhead/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "files": [ + "dist" + ], + "dependencies": { + "@unhead/schema": "1.8.1", + "@unhead/shared": "1.8.1" + }, + "scripts": { + "build": "unbuild .", + "stub": "unbuild . --stub", + "export:sizes": "npx export-size . -r" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js b/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js new file mode 100644 index 0000000000..ec9aae6d7e --- /dev/null +++ b/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js @@ -0,0 +1,5492 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); +var parser = require('@babel/parser'); +var sourceMapJs = require('source-map-js'); +var estreeWalker = require('estree-walker'); + +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { + console.warn(`[Vue warn] ${msg.message}`); +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +const errorMessages = { + // parse errors + [0]: "Illegal comment.", + [1]: "CDATA section is allowed only in XML context.", + [2]: "Duplicate attribute.", + [3]: "End tag cannot have attributes.", + [4]: "Illegal '/' in tags.", + [5]: "Unexpected EOF in tag.", + [6]: "Unexpected EOF in CDATA section.", + [7]: "Unexpected EOF in comment.", + [8]: "Unexpected EOF in script.", + [9]: "Unexpected EOF in tag.", + [10]: "Incorrectly closed comment.", + [11]: "Incorrectly opened comment.", + [12]: "Illegal tag name. Use '<' to print '<'.", + [13]: "Attribute value was expected.", + [14]: "End tag name was expected.", + [15]: "Whitespace was expected.", + [16]: "Unexpected '`; + case 5: + return shared.escapeHtml(shared.toDisplayString(evaluateConstant(node.content))); + case 8: + return shared.escapeHtml(evaluateConstant(node)); + case 12: + return stringifyNode(node.content, context); + default: + return ""; + } +} +function stringifyElement(node, context) { + let res = `<${node.tag}`; + let innerHTML = ""; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + res += ` ${p.name}`; + if (p.value) { + res += `="${shared.escapeHtml(p.value.content)}"`; + } + } else if (p.type === 7) { + if (p.name === "bind") { + const exp = p.exp; + if (exp.content[0] === "_") { + res += ` ${p.arg.content}="__VUE_EXP_START__${exp.content}__VUE_EXP_END__"`; + continue; + } + if (shared.isBooleanAttr(p.arg.content) && exp.content === "false") { + continue; + } + let evaluated = evaluateConstant(exp); + if (evaluated != null) { + const arg = p.arg && p.arg.content; + if (arg === "class") { + evaluated = shared.normalizeClass(evaluated); + } else if (arg === "style") { + evaluated = shared.stringifyStyle(shared.normalizeStyle(evaluated)); + } + res += ` ${p.arg.content}="${shared.escapeHtml( + evaluated + )}"`; + } + } else if (p.name === "html") { + innerHTML = evaluateConstant(p.exp); + } else if (p.name === "text") { + innerHTML = shared.escapeHtml( + shared.toDisplayString(evaluateConstant(p.exp)) + ); + } + } + } + if (context.scopeId) { + res += ` ${context.scopeId}`; + } + res += `>`; + if (innerHTML) { + res += innerHTML; + } else { + for (let i = 0; i < node.children.length; i++) { + res += stringifyNode(node.children[i], context); + } + } + if (!shared.isVoidTag(node.tag)) { + res += ``; + } + return res; +} +function evaluateConstant(exp) { + if (exp.type === 4) { + return new Function(`return (${exp.content})`)(); + } else { + let res = ``; + exp.children.forEach((c) => { + if (shared.isString(c) || shared.isSymbol(c)) { + return; + } + if (c.type === 2) { + res += c.content; + } else if (c.type === 5) { + res += shared.toDisplayString(evaluateConstant(c.content)); + } else { + res += evaluateConstant(c); + } + }); + return res; + } +} + +const ignoreSideEffectTags = (node, context) => { + if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) { + context.onError( + createDOMCompilerError( + 63, + node.loc + ) + ); + context.removeNode(); + } +}; + +const DOMNodeTransforms = [ + transformStyle, + ...[transformTransition] +]; +const DOMDirectiveTransforms = { + cloak: compilerCore.noopDirectiveTransform, + html: transformVHtml, + text: transformVText, + model: transformModel, + // override compiler-core + on: transformOn, + // override compiler-core + show: transformShow +}; +function compile(template, options = {}) { + return compilerCore.baseCompile( + template, + shared.extend({}, parserOptions, options, { + nodeTransforms: [ + // ignore + * ``` + * + * Elements by their ID are made available by browsers on the `window` object, + * which is a security risk. + * Using a prefix solves this problem. + * + * More information on how to handle clobbering and the prefix is explained in + * Example: headings (DOM clobbering) in `rehype-sanitize`. + * + * ###### Unknown nodes + * + * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`. + * The default behavior for unknown nodes is: + * + * * when the node has a `value` (and doesn’t have `data.hName`, + * `data.hProperties`, or `data.hChildren`, see later), create a hast `text` + * node + * * otherwise, create a `
    ` element (which could be changed with + * `data.hName`), with its children mapped from mdast to hast as well + * + * This behavior can be changed by passing an `unknownHandler`. + * + * @param {MdastNodes} tree + * mdast tree. + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {HastNodes | null | undefined} + * hast tree. + */ +// To do: next major: always return a single `root`. +export function toHast(tree, options) { + const state = createState(tree, options) + const node = state.one(tree, null) + const foot = footer(state) + + if (foot) { + // @ts-expect-error If there’s a footer, there were definitions, meaning block + // content. + // So assume `node` is a parent node. + node.children.push({type: 'text', value: '\n'}, foot) + } + + // To do: next major: always return root? + return Array.isArray(node) ? {type: 'root', children: node} : node +} diff --git a/.output/server/node_modules/mdast-util-to-hast/lib/revert.js b/.output/server/node_modules/mdast-util-to-hast/lib/revert.js new file mode 100644 index 0000000000..2c23e04363 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-hast/lib/revert.js @@ -0,0 +1,60 @@ +/** + * @typedef {import('hast').ElementContent} ElementContent + * + * @typedef {import('mdast').Content} Content + * @typedef {import('mdast').Reference} Reference + * @typedef {import('mdast').Root} Root + * + * @typedef {import('./state.js').State} State + */ + +/** + * @typedef {Root | Content} Nodes + * @typedef {Extract} References + */ + +// To do: next major: always return array. + +/** + * Return the content of a reference without definition as plain text. + * + * @param {State} state + * Info passed around. + * @param {References} node + * Reference node (image, link). + * @returns {ElementContent | Array} + * hast content. + */ +export function revert(state, node) { + const subtype = node.referenceType + let suffix = ']' + + if (subtype === 'collapsed') { + suffix += '[]' + } else if (subtype === 'full') { + suffix += '[' + (node.label || node.identifier) + ']' + } + + if (node.type === 'imageReference') { + return {type: 'text', value: '![' + node.alt + suffix} + } + + const contents = state.all(node) + const head = contents[0] + + if (head && head.type === 'text') { + head.value = '[' + head.value + } else { + contents.unshift({type: 'text', value: '['}) + } + + const tail = contents[contents.length - 1] + + if (tail && tail.type === 'text') { + tail.value += suffix + } else { + contents.push({type: 'text', value: suffix}) + } + + return contents +} diff --git a/.output/server/node_modules/mdast-util-to-hast/lib/state.js b/.output/server/node_modules/mdast-util-to-hast/lib/state.js new file mode 100644 index 0000000000..7f1528c682 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-hast/lib/state.js @@ -0,0 +1,577 @@ +/** + * @typedef {import('hast').Content} HastContent + * @typedef {import('hast').Element} HastElement + * @typedef {import('hast').ElementContent} HastElementContent + * @typedef {import('hast').Properties} HastProperties + * @typedef {import('hast').Root} HastRoot + * @typedef {import('hast').Text} HastText + * + * @typedef {import('mdast').Content} MdastContent + * @typedef {import('mdast').Definition} MdastDefinition + * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition + * @typedef {import('mdast').Parent} MdastParent + * @typedef {import('mdast').Root} MdastRoot + */ + +/** + * @typedef {HastRoot | HastContent} HastNodes + * @typedef {MdastRoot | MdastContent} MdastNodes + * @typedef {Extract} MdastParents + * + * @typedef EmbeddedHastFields + * hast fields. + * @property {string | null | undefined} [hName] + * Generate a specific element with this tag name instead. + * @property {HastProperties | null | undefined} [hProperties] + * Generate an element with these properties instead. + * @property {Array | null | undefined} [hChildren] + * Generate an element with this content instead. + * + * @typedef {Record & EmbeddedHastFields} MdastData + * mdast data with embedded hast fields. + * + * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData + * mdast node with embedded hast data. + * + * @typedef PointLike + * Point-like value. + * @property {number | null | undefined} [line] + * Line. + * @property {number | null | undefined} [column] + * Column. + * @property {number | null | undefined} [offset] + * Offset. + * + * @typedef PositionLike + * Position-like value. + * @property {PointLike | null | undefined} [start] + * Point-like value. + * @property {PointLike | null | undefined} [end] + * Point-like value. + * + * @callback Handler + * Handle a node. + * @param {State} state + * Info passed around. + * @param {any} node + * mdast node to handle. + * @param {MdastParents | null | undefined} parent + * Parent of `node`. + * @returns {HastElementContent | Array | null | undefined} + * hast node. + * + * @callback HFunctionProps + * Signature of `state` for when props are passed. + * @param {MdastNodes | PositionLike | null | undefined} node + * mdast node or unist position. + * @param {string} tagName + * HTML tag name. + * @param {HastProperties} props + * Properties. + * @param {Array | null | undefined} [children] + * hast content. + * @returns {HastElement} + * Compiled element. + * + * @callback HFunctionNoProps + * Signature of `state` for when no props are passed. + * @param {MdastNodes | PositionLike | null | undefined} node + * mdast node or unist position. + * @param {string} tagName + * HTML tag name. + * @param {Array | null | undefined} [children] + * hast content. + * @returns {HastElement} + * Compiled element. + * + * @typedef HFields + * Info on `state`. + * @property {boolean} dangerous + * Whether HTML is allowed. + * @property {string} clobberPrefix + * Prefix to use to prevent DOM clobbering. + * @property {string} footnoteLabel + * Label to use to introduce the footnote section. + * @property {string} footnoteLabelTagName + * HTML used for the footnote label. + * @property {HastProperties} footnoteLabelProperties + * Properties on the HTML tag used for the footnote label. + * @property {string} footnoteBackLabel + * Label to use from backreferences back to their footnote call. + * @property {(identifier: string) => MdastDefinition | null} definition + * Definition cache. + * @property {Record} footnoteById + * Footnote definitions by their identifier. + * @property {Array} footnoteOrder + * Identifiers of order when footnote calls first appear in tree order. + * @property {Record} footnoteCounts + * Counts for how often the same footnote was called. + * @property {Handlers} handlers + * Applied handlers. + * @property {Handler} unknownHandler + * Handler for any none not in `passThrough` or otherwise handled. + * @property {(from: MdastNodes, node: HastNodes) => void} patch + * Copy a node’s positional info. + * @property {(from: MdastNodes, to: Type) => Type | HastElement} applyData + * Honor the `data` of `from`, and generate an element instead of `node`. + * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array | null | undefined} one + * Transform an mdast node to hast. + * @property {(node: MdastNodes) => Array} all + * Transform the children of an mdast parent to hast. + * @property {(nodes: Array, loose?: boolean | null | undefined) => Array} wrap + * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`. + * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment + * Like `state` but lower-level and usable on non-elements. + * Deprecated: use `patch` and `applyData`. + * @property {Array} passThrough + * List of node types to pass through untouched (except for their children). + * + * @typedef Options + * Configuration (optional). + * @property {boolean | null | undefined} [allowDangerousHtml=false] + * Whether to persist raw HTML in markdown in the hast tree. + * @property {string | null | undefined} [clobberPrefix='user-content-'] + * Prefix to use before the `id` attribute on footnotes to prevent it from + * *clobbering*. + * @property {string | null | undefined} [footnoteBackLabel='Back to content'] + * Label to use from backreferences back to their footnote call (affects + * screen readers). + * @property {string | null | undefined} [footnoteLabel='Footnotes'] + * Label to use for the footnotes section (affects screen readers). + * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}] + * Properties to use on the footnote label (note that `id: 'footnote-label'` + * is always added as footnote calls use it with `aria-describedby` to + * provide an accessible label). + * @property {string | null | undefined} [footnoteLabelTagName='h2'] + * Tag name to use for the footnote label. + * @property {Handlers | null | undefined} [handlers] + * Extra handlers for nodes. + * @property {Array | null | undefined} [passThrough] + * List of custom mdast node types to pass through (keep) in hast (note that + * the node itself is passed, but eventual children are transformed). + * @property {Handler | null | undefined} [unknownHandler] + * Handler for all unknown nodes. + * + * @typedef {Record} Handlers + * Handle nodes. + * + * @typedef {HFunctionProps & HFunctionNoProps & HFields} State + * Info passed around. + */ + +import {visit} from 'unist-util-visit' +import {position, pointStart, pointEnd} from 'unist-util-position' +import {generated} from 'unist-util-generated' +import {definitions} from 'mdast-util-definitions' +import {handlers} from './handlers/index.js' + +const own = {}.hasOwnProperty + +/** + * Create `state` from an mdast tree. + * + * @param {MdastNodes} tree + * mdast node to transform. + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {State} + * `state` function. + */ +export function createState(tree, options) { + const settings = options || {} + const dangerous = settings.allowDangerousHtml || false + /** @type {Record} */ + const footnoteById = {} + + // To do: next major: add `options` to state, remove: + // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`, + // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`, + // `unknownHandler`. + + // To do: next major: move to `state.options.allowDangerousHtml`. + state.dangerous = dangerous + // To do: next major: move to `state.options`. + state.clobberPrefix = + settings.clobberPrefix === undefined || settings.clobberPrefix === null + ? 'user-content-' + : settings.clobberPrefix + // To do: next major: move to `state.options`. + state.footnoteLabel = settings.footnoteLabel || 'Footnotes' + // To do: next major: move to `state.options`. + state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2' + // To do: next major: move to `state.options`. + state.footnoteLabelProperties = settings.footnoteLabelProperties || { + className: ['sr-only'] + } + // To do: next major: move to `state.options`. + state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content' + // To do: next major: move to `state.options`. + state.unknownHandler = settings.unknownHandler + // To do: next major: move to `state.options`. + state.passThrough = settings.passThrough + + state.handlers = {...handlers, ...settings.handlers} + + // To do: next major: replace utility with `definitionById` object, so we + // only walk once (as we need footnotes too). + state.definition = definitions(tree) + state.footnoteById = footnoteById + /** @type {Array} */ + state.footnoteOrder = [] + /** @type {Record} */ + state.footnoteCounts = {} + + state.patch = patch + state.applyData = applyData + state.one = oneBound + state.all = allBound + state.wrap = wrap + // To do: next major: remove `augment`. + state.augment = augment + + visit(tree, 'footnoteDefinition', (definition) => { + const id = String(definition.identifier).toUpperCase() + + // Mimick CM behavior of link definitions. + // See: . + if (!own.call(footnoteById, id)) { + footnoteById[id] = definition + } + }) + + // @ts-expect-error Hush, it’s fine! + return state + + /** + * Finalise the created `right`, a hast node, from `left`, an mdast node. + * + * @param {MdastNodeWithData | PositionLike | null | undefined} left + * @param {HastElementContent} right + * @returns {HastElementContent} + */ + /* c8 ignore start */ + // To do: next major: remove. + function augment(left, right) { + // Handle `data.hName`, `data.hProperties, `data.hChildren`. + if (left && 'data' in left && left.data) { + /** @type {MdastData} */ + const data = left.data + + if (data.hName) { + if (right.type !== 'element') { + right = { + type: 'element', + tagName: '', + properties: {}, + children: [] + } + } + + right.tagName = data.hName + } + + if (right.type === 'element' && data.hProperties) { + right.properties = {...right.properties, ...data.hProperties} + } + + if ('children' in right && right.children && data.hChildren) { + right.children = data.hChildren + } + } + + if (left) { + const ctx = 'type' in left ? left : {position: left} + + if (!generated(ctx)) { + // @ts-expect-error: fine. + right.position = {start: pointStart(ctx), end: pointEnd(ctx)} + } + } + + return right + } + /* c8 ignore stop */ + + /** + * Create an element for `node`. + * + * @type {HFunctionProps} + */ + /* c8 ignore start */ + // To do: next major: remove. + function state(node, tagName, props, children) { + if (Array.isArray(props)) { + children = props + props = {} + } + + // @ts-expect-error augmenting an element yields an element. + return augment(node, { + type: 'element', + tagName, + properties: props || {}, + children: children || [] + }) + } + /* c8 ignore stop */ + + /** + * Transform an mdast node into a hast node. + * + * @param {MdastNodes} node + * mdast node. + * @param {MdastParents | null | undefined} [parent] + * Parent of `node`. + * @returns {HastElementContent | Array | null | undefined} + * Resulting hast node. + */ + function oneBound(node, parent) { + // @ts-expect-error: that’s a state :) + return one(state, node, parent) + } + + /** + * Transform the children of an mdast node into hast nodes. + * + * @param {MdastNodes} parent + * mdast node to compile + * @returns {Array} + * Resulting hast nodes. + */ + function allBound(parent) { + // @ts-expect-error: that’s a state :) + return all(state, parent) + } +} + +/** + * Copy a node’s positional info. + * + * @param {MdastNodes} from + * mdast node to copy from. + * @param {HastNodes} to + * hast node to copy into. + * @returns {void} + * Nothing. + */ +function patch(from, to) { + if (from.position) to.position = position(from) +} + +/** + * Honor the `data` of `from` and maybe generate an element instead of `to`. + * + * @template {HastNodes} Type + * Node type. + * @param {MdastNodes} from + * mdast node to use data from. + * @param {Type} to + * hast node to change. + * @returns {Type | HastElement} + * Nothing. + */ +function applyData(from, to) { + /** @type {Type | HastElement} */ + let result = to + + // Handle `data.hName`, `data.hProperties, `data.hChildren`. + if (from && from.data) { + const hName = from.data.hName + const hChildren = from.data.hChildren + const hProperties = from.data.hProperties + + if (typeof hName === 'string') { + // Transforming the node resulted in an element with a different name + // than wanted: + if (result.type === 'element') { + result.tagName = hName + } + // Transforming the node resulted in a non-element, which happens for + // raw, text, and root nodes (unless custom handlers are passed). + // The intent is likely to keep the content around (otherwise: pass + // `hChildren`). + else { + result = { + type: 'element', + tagName: hName, + properties: {}, + children: [] + } + + // To do: next major: take the children from the `root`, or inject the + // raw/text/comment or so into the element? + // if ('children' in node) { + // // @ts-expect-error: assume `children` are allowed in elements. + // result.children = node.children + // } else { + // // @ts-expect-error: assume `node` is allowed in elements. + // result.children.push(node) + // } + } + } + + if (result.type === 'element' && hProperties) { + result.properties = {...result.properties, ...hProperties} + } + + if ( + 'children' in result && + result.children && + hChildren !== null && + hChildren !== undefined + ) { + // @ts-expect-error: assume valid children are defined. + result.children = hChildren + } + } + + return result +} + +/** + * Transform an mdast node into a hast node. + * + * @param {State} state + * Info passed around. + * @param {MdastNodes} node + * mdast node. + * @param {MdastParents | null | undefined} [parent] + * Parent of `node`. + * @returns {HastElementContent | Array | null | undefined} + * Resulting hast node. + */ +// To do: next major: do not expose, keep bound. +export function one(state, node, parent) { + const type = node && node.type + + // Fail on non-nodes. + if (!type) { + throw new Error('Expected node, got `' + node + '`') + } + + if (own.call(state.handlers, type)) { + return state.handlers[type](state, node, parent) + } + + if (state.passThrough && state.passThrough.includes(type)) { + // To do: next major: deep clone. + // @ts-expect-error: types of passed through nodes are expected to be added manually. + return 'children' in node ? {...node, children: all(state, node)} : node + } + + if (state.unknownHandler) { + return state.unknownHandler(state, node, parent) + } + + return defaultUnknownHandler(state, node) +} + +/** + * Transform the children of an mdast node into hast nodes. + * + * @param {State} state + * Info passed around. + * @param {MdastNodes} parent + * mdast node to compile + * @returns {Array} + * Resulting hast nodes. + */ +// To do: next major: do not expose, keep bound. +export function all(state, parent) { + /** @type {Array} */ + const values = [] + + if ('children' in parent) { + const nodes = parent.children + let index = -1 + while (++index < nodes.length) { + const result = one(state, nodes[index], parent) + + // To do: see if we van clean this? Can we merge texts? + if (result) { + if (index && nodes[index - 1].type === 'break') { + if (!Array.isArray(result) && result.type === 'text') { + result.value = result.value.replace(/^\s+/, '') + } + + if (!Array.isArray(result) && result.type === 'element') { + const head = result.children[0] + + if (head && head.type === 'text') { + head.value = head.value.replace(/^\s+/, '') + } + } + } + + if (Array.isArray(result)) { + values.push(...result) + } else { + values.push(result) + } + } + } + } + + return values +} + +/** + * Transform an unknown node. + * + * @param {State} state + * Info passed around. + * @param {MdastNodes} node + * Unknown mdast node. + * @returns {HastText | HastElement} + * Resulting hast node. + */ +function defaultUnknownHandler(state, node) { + const data = node.data || {} + /** @type {HastText | HastElement} */ + const result = + 'value' in node && + !(own.call(data, 'hProperties') || own.call(data, 'hChildren')) + ? {type: 'text', value: node.value} + : { + type: 'element', + tagName: 'div', + properties: {}, + children: all(state, node) + } + + state.patch(node, result) + return state.applyData(node, result) +} + +/** + * Wrap `nodes` with line endings between each node. + * + * @template {HastContent} Type + * Node type. + * @param {Array} nodes + * List of nodes to wrap. + * @param {boolean | null | undefined} [loose=false] + * Whether to add line endings at start and end. + * @returns {Array} + * Wrapped nodes. + */ +export function wrap(nodes, loose) { + /** @type {Array} */ + const result = [] + let index = -1 + + if (loose) { + result.push({type: 'text', value: '\n'}) + } + + while (++index < nodes.length) { + if (index) result.push({type: 'text', value: '\n'}) + result.push(nodes[index]) + } + + if (loose && nodes.length > 0) { + result.push({type: 'text', value: '\n'}) + } + + return result +} diff --git a/.output/server/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri b/.output/server/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri new file mode 120000 index 0000000000..18795b2f35 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri @@ -0,0 +1 @@ +../../.nitro/micromark-util-sanitize-uri@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/mdast-util-to-hast/node_modules/unist-util-visit b/.output/server/node_modules/mdast-util-to-hast/node_modules/unist-util-visit new file mode 120000 index 0000000000..7065108c17 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-hast/node_modules/unist-util-visit @@ -0,0 +1 @@ +../../.nitro/unist-util-visit@4.1.2 \ No newline at end of file diff --git a/.output/server/node_modules/mdast-util-to-hast/package.json b/.output/server/node_modules/mdast-util-to-hast/package.json new file mode 100644 index 0000000000..76305864f1 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-hast/package.json @@ -0,0 +1,103 @@ +{ + "name": "mdast-util-to-hast", + "version": "12.3.0", + "description": "mdast utility to transform to hast", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "hast", + "hast-util", + "util", + "utility", + "markdown", + "html" + ], + "repository": "syntax-tree/mdast-util-to-hast", + "bugs": "https://github.com/syntax-tree/mdast-util-to-hast/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "complex-types.d.ts", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "hast-util-to-html": "^8.0.4", + "hastscript": "^7.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "max-depth": "off", + "import/no-cycle": "error" + } + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm", + [ + "lint-no-html", + false + ] + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "#": "needed `any`s", + "ignoreFiles": [ + "lib/state.d.ts" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/mdast-util-to-markdown b/.output/server/node_modules/mdast-util-to-markdown new file mode 120000 index 0000000000..f8a3bdd858 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-markdown @@ -0,0 +1 @@ +.nitro/mdast-util-to-markdown@2.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/mdast-util-to-string b/.output/server/node_modules/mdast-util-to-string new file mode 120000 index 0000000000..1b34823a00 --- /dev/null +++ b/.output/server/node_modules/mdast-util-to-string @@ -0,0 +1 @@ +.nitro/mdast-util-to-string@4.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark b/.output/server/node_modules/micromark new file mode 120000 index 0000000000..4134625da1 --- /dev/null +++ b/.output/server/node_modules/micromark @@ -0,0 +1 @@ +.nitro/micromark@4.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-core-commonmark b/.output/server/node_modules/micromark-core-commonmark new file mode 120000 index 0000000000..52e6679e68 --- /dev/null +++ b/.output/server/node_modules/micromark-core-commonmark @@ -0,0 +1 @@ +.nitro/micromark-core-commonmark@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/index.js b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/index.js new file mode 100644 index 0000000000..928d4456ab --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/index.js @@ -0,0 +1,2 @@ +export {gfmAutolinkLiteral} from './lib/syntax.js' +export {gfmAutolinkLiteralHtml} from './lib/html.js' diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/html.js b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/html.js new file mode 100644 index 0000000000..85f863c0b6 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/html.js @@ -0,0 +1,61 @@ +/** + * @typedef {import('micromark-util-types').CompileContext} CompileContext + * @typedef {import('micromark-util-types').Handle} Handle + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + * @typedef {import('micromark-util-types').Token} Token + */ + +import {sanitizeUri} from 'micromark-util-sanitize-uri' + +// To do: next major: expose functions that yields extension. + +/** + * Extension for `micromark` that can be passed in `htmlExtensions` to support + * GFM autolink literals when serializing to HTML. + * + * @type {HtmlExtension} + */ +export const gfmAutolinkLiteralHtml = { + exit: { + literalAutolinkEmail, + literalAutolinkHttp, + literalAutolinkWww + } +} + +/** + * @this {CompileContext} + * @type {Handle} + */ +function literalAutolinkWww(token) { + anchorFromToken.call(this, token, 'http://') +} + +/** + * @this {CompileContext} + * @type {Handle} + */ +function literalAutolinkEmail(token) { + anchorFromToken.call(this, token, 'mailto:') +} + +/** + * @this {CompileContext} + * @type {Handle} + */ +function literalAutolinkHttp(token) { + anchorFromToken.call(this, token) +} + +/** + * @this CompileContext + * @param {Token} token + * @param {string | null | undefined} [protocol] + * @returns {void} + */ +function anchorFromToken(token, protocol) { + const url = this.sliceSerialize(token) + this.tag('') + this.raw(this.encode(url)) + this.tag('') +} diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js new file mode 100644 index 0000000000..651d6374d8 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js @@ -0,0 +1,955 @@ +/** + * @typedef {import('micromark-util-types').Code} Code + * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Previous} Previous + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import { + asciiAlpha, + asciiAlphanumeric, + asciiControl, + markdownLineEndingOrSpace, + unicodePunctuation, + unicodeWhitespace +} from 'micromark-util-character' +const wwwPrefix = { + tokenize: tokenizeWwwPrefix, + partial: true +} +const domain = { + tokenize: tokenizeDomain, + partial: true +} +const path = { + tokenize: tokenizePath, + partial: true +} +const trail = { + tokenize: tokenizeTrail, + partial: true +} +const emailDomainDotTrail = { + tokenize: tokenizeEmailDomainDotTrail, + partial: true +} +const wwwAutolink = { + tokenize: tokenizeWwwAutolink, + previous: previousWww +} +const protocolAutolink = { + tokenize: tokenizeProtocolAutolink, + previous: previousProtocol +} +const emailAutolink = { + tokenize: tokenizeEmailAutolink, + previous: previousEmail +} + +/** @type {ConstructRecord} */ +const text = {} + +// To do: next major: expose functions that yields extension. + +/** + * Extension for `micromark` that can be passed in `extensions` to enable GFM + * autolink literal syntax. + * + * @type {Extension} + */ +export const gfmAutolinkLiteral = { + text +} + +/** @type {Code} */ +let code = 48 + +// Add alphanumerics. +while (code < 123) { + text[code] = emailAutolink + code++ + if (code === 58) code = 65 + else if (code === 91) code = 97 +} +text[43] = emailAutolink +text[45] = emailAutolink +text[46] = emailAutolink +text[95] = emailAutolink +text[72] = [emailAutolink, protocolAutolink] +text[104] = [emailAutolink, protocolAutolink] +text[87] = [emailAutolink, wwwAutolink] +text[119] = [emailAutolink, wwwAutolink] + +// To do: perform email autolink literals on events, afterwards. +// That’s where `markdown-rs` and `cmark-gfm` perform it. +// It should look for `@`, then for atext backwards, and then for a label +// forwards. +// To do: `mailto:`, `xmpp:` protocol as prefix. + +/** + * Email autolink literal. + * + * ```markdown + * > | a contact@example.org b + * ^^^^^^^^^^^^^^^^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeEmailAutolink(effects, ok, nok) { + const self = this + /** @type {boolean | undefined} */ + let dot + /** @type {boolean} */ + let data + return start + + /** + * Start of email autolink literal. + * + * ```markdown + * > | a contact@example.org b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + if ( + !gfmAtext(code) || + !previousEmail.call(self, self.previous) || + previousUnbalanced(self.events) + ) { + return nok(code) + } + effects.enter('literalAutolink') + effects.enter('literalAutolinkEmail') + return atext(code) + } + + /** + * In email atext. + * + * ```markdown + * > | a contact@example.org b + * ^ + * ``` + * + * @type {State} + */ + function atext(code) { + if (gfmAtext(code)) { + effects.consume(code) + return atext + } + if (code === 64) { + effects.consume(code) + return emailDomain + } + return nok(code) + } + + /** + * In email domain. + * + * The reference code is a bit overly complex as it handles the `@`, of which + * there may be just one. + * Source: + * + * ```markdown + * > | a contact@example.org b + * ^ + * ``` + * + * @type {State} + */ + function emailDomain(code) { + // Dot followed by alphanumerical (not `-` or `_`). + if (code === 46) { + return effects.check( + emailDomainDotTrail, + emailDomainAfter, + emailDomainDot + )(code) + } + + // Alphanumerical, `-`, and `_`. + if (code === 45 || code === 95 || asciiAlphanumeric(code)) { + data = true + effects.consume(code) + return emailDomain + } + + // To do: `/` if xmpp. + + // Note: normally we’d truncate trailing punctuation from the link. + // However, email autolink literals cannot contain any of those markers, + // except for `.`, but that can only occur if it isn’t trailing. + // So we can ignore truncating! + return emailDomainAfter(code) + } + + /** + * In email domain, on dot that is not a trail. + * + * ```markdown + * > | a contact@example.org b + * ^ + * ``` + * + * @type {State} + */ + function emailDomainDot(code) { + effects.consume(code) + dot = true + return emailDomain + } + + /** + * After email domain. + * + * ```markdown + * > | a contact@example.org b + * ^ + * ``` + * + * @type {State} + */ + function emailDomainAfter(code) { + // Domain must not be empty, must include a dot, and must end in alphabetical. + // Source: . + if (data && dot && asciiAlpha(self.previous)) { + effects.exit('literalAutolinkEmail') + effects.exit('literalAutolink') + return ok(code) + } + return nok(code) + } +} + +/** + * `www` autolink literal. + * + * ```markdown + * > | a www.example.org b + * ^^^^^^^^^^^^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeWwwAutolink(effects, ok, nok) { + const self = this + return wwwStart + + /** + * Start of www autolink literal. + * + * ```markdown + * > | www.example.com/a?b#c + * ^ + * ``` + * + * @type {State} + */ + function wwwStart(code) { + if ( + (code !== 87 && code !== 119) || + !previousWww.call(self, self.previous) || + previousUnbalanced(self.events) + ) { + return nok(code) + } + effects.enter('literalAutolink') + effects.enter('literalAutolinkWww') + // Note: we *check*, so we can discard the `www.` we parsed. + // If it worked, we consider it as a part of the domain. + return effects.check( + wwwPrefix, + effects.attempt(domain, effects.attempt(path, wwwAfter), nok), + nok + )(code) + } + + /** + * After a www autolink literal. + * + * ```markdown + * > | www.example.com/a?b#c + * ^ + * ``` + * + * @type {State} + */ + function wwwAfter(code) { + effects.exit('literalAutolinkWww') + effects.exit('literalAutolink') + return ok(code) + } +} + +/** + * Protocol autolink literal. + * + * ```markdown + * > | a https://example.org b + * ^^^^^^^^^^^^^^^^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeProtocolAutolink(effects, ok, nok) { + const self = this + let buffer = '' + let seen = false + return protocolStart + + /** + * Start of protocol autolink literal. + * + * ```markdown + * > | https://example.com/a?b#c + * ^ + * ``` + * + * @type {State} + */ + function protocolStart(code) { + if ( + (code === 72 || code === 104) && + previousProtocol.call(self, self.previous) && + !previousUnbalanced(self.events) + ) { + effects.enter('literalAutolink') + effects.enter('literalAutolinkHttp') + buffer += String.fromCodePoint(code) + effects.consume(code) + return protocolPrefixInside + } + return nok(code) + } + + /** + * In protocol. + * + * ```markdown + * > | https://example.com/a?b#c + * ^^^^^ + * ``` + * + * @type {State} + */ + function protocolPrefixInside(code) { + // `5` is size of `https` + if (asciiAlpha(code) && buffer.length < 5) { + // @ts-expect-error: definitely number. + buffer += String.fromCodePoint(code) + effects.consume(code) + return protocolPrefixInside + } + if (code === 58) { + const protocol = buffer.toLowerCase() + if (protocol === 'http' || protocol === 'https') { + effects.consume(code) + return protocolSlashesInside + } + } + return nok(code) + } + + /** + * In slashes. + * + * ```markdown + * > | https://example.com/a?b#c + * ^^ + * ``` + * + * @type {State} + */ + function protocolSlashesInside(code) { + if (code === 47) { + effects.consume(code) + if (seen) { + return afterProtocol + } + seen = true + return protocolSlashesInside + } + return nok(code) + } + + /** + * After protocol, before domain. + * + * ```markdown + * > | https://example.com/a?b#c + * ^ + * ``` + * + * @type {State} + */ + function afterProtocol(code) { + // To do: this is different from `markdown-rs`: + // https://github.com/wooorm/markdown-rs/blob/b3a921c761309ae00a51fe348d8a43adbc54b518/src/construct/gfm_autolink_literal.rs#L172-L182 + return code === null || + asciiControl(code) || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) || + unicodePunctuation(code) + ? nok(code) + : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code) + } + + /** + * After a protocol autolink literal. + * + * ```markdown + * > | https://example.com/a?b#c + * ^ + * ``` + * + * @type {State} + */ + function protocolAfter(code) { + effects.exit('literalAutolinkHttp') + effects.exit('literalAutolink') + return ok(code) + } +} + +/** + * `www` prefix. + * + * ```markdown + * > | a www.example.org b + * ^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeWwwPrefix(effects, ok, nok) { + let size = 0 + return wwwPrefixInside + + /** + * In www prefix. + * + * ```markdown + * > | www.example.com + * ^^^^ + * ``` + * + * @type {State} + */ + function wwwPrefixInside(code) { + if ((code === 87 || code === 119) && size < 3) { + size++ + effects.consume(code) + return wwwPrefixInside + } + if (code === 46 && size === 3) { + effects.consume(code) + return wwwPrefixAfter + } + return nok(code) + } + + /** + * After www prefix. + * + * ```markdown + * > | www.example.com + * ^ + * ``` + * + * @type {State} + */ + function wwwPrefixAfter(code) { + // If there is *anything*, we can link. + return code === null ? nok(code) : ok(code) + } +} + +/** + * Domain. + * + * ```markdown + * > | a https://example.org b + * ^^^^^^^^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeDomain(effects, ok, nok) { + /** @type {boolean | undefined} */ + let underscoreInLastSegment + /** @type {boolean | undefined} */ + let underscoreInLastLastSegment + /** @type {boolean | undefined} */ + let seen + return domainInside + + /** + * In domain. + * + * ```markdown + * > | https://example.com/a + * ^^^^^^^^^^^ + * ``` + * + * @type {State} + */ + function domainInside(code) { + // Check whether this marker, which is a trailing punctuation + // marker, optionally followed by more trailing markers, and then + // followed by an end. + if (code === 46 || code === 95) { + return effects.check(trail, domainAfter, domainAtPunctuation)(code) + } + + // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can + // occur, which sounds like ASCII only, but they also support `www.點看.com`, + // so that’s Unicode. + // Instead of some new production for Unicode alphanumerics, markdown + // already has that for Unicode punctuation and whitespace, so use those. + // Source: . + if ( + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) || + (code !== 45 && unicodePunctuation(code)) + ) { + return domainAfter(code) + } + seen = true + effects.consume(code) + return domainInside + } + + /** + * In domain, at potential trailing punctuation, that was not trailing. + * + * ```markdown + * > | https://example.com + * ^ + * ``` + * + * @type {State} + */ + function domainAtPunctuation(code) { + // There is an underscore in the last segment of the domain + if (code === 95) { + underscoreInLastSegment = true + } + // Otherwise, it’s a `.`: save the last segment underscore in the + // penultimate segment slot. + else { + underscoreInLastLastSegment = underscoreInLastSegment + underscoreInLastSegment = undefined + } + effects.consume(code) + return domainInside + } + + /** + * After domain. + * + * ```markdown + * > | https://example.com/a + * ^ + * ``` + * + * @type {State} */ + function domainAfter(code) { + // Note: that’s GH says a dot is needed, but it’s not true: + // + if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) { + return nok(code) + } + return ok(code) + } +} + +/** + * Path. + * + * ```markdown + * > | a https://example.org/stuff b + * ^^^^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizePath(effects, ok) { + let sizeOpen = 0 + let sizeClose = 0 + return pathInside + + /** + * In path. + * + * ```markdown + * > | https://example.com/a + * ^^ + * ``` + * + * @type {State} + */ + function pathInside(code) { + if (code === 40) { + sizeOpen++ + effects.consume(code) + return pathInside + } + + // To do: `markdown-rs` also needs this. + // If this is a paren, and there are less closings than openings, + // we don’t check for a trail. + if (code === 41 && sizeClose < sizeOpen) { + return pathAtPunctuation(code) + } + + // Check whether this trailing punctuation marker is optionally + // followed by more trailing markers, and then followed + // by an end. + if ( + code === 33 || + code === 34 || + code === 38 || + code === 39 || + code === 41 || + code === 42 || + code === 44 || + code === 46 || + code === 58 || + code === 59 || + code === 60 || + code === 63 || + code === 93 || + code === 95 || + code === 126 + ) { + return effects.check(trail, ok, pathAtPunctuation)(code) + } + if ( + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return ok(code) + } + effects.consume(code) + return pathInside + } + + /** + * In path, at potential trailing punctuation, that was not trailing. + * + * ```markdown + * > | https://example.com/a"b + * ^ + * ``` + * + * @type {State} + */ + function pathAtPunctuation(code) { + // Count closing parens. + if (code === 41) { + sizeClose++ + } + effects.consume(code) + return pathInside + } +} + +/** + * Trail. + * + * This calls `ok` if this *is* the trail, followed by an end, which means + * the entire trail is not part of the link. + * It calls `nok` if this *is* part of the link. + * + * ```markdown + * > | https://example.com"). + * ^^^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeTrail(effects, ok, nok) { + return trail + + /** + * In trail of domain or path. + * + * ```markdown + * > | https://example.com"). + * ^ + * ``` + * + * @type {State} + */ + function trail(code) { + // Regular trailing punctuation. + if ( + code === 33 || + code === 34 || + code === 39 || + code === 41 || + code === 42 || + code === 44 || + code === 46 || + code === 58 || + code === 59 || + code === 63 || + code === 95 || + code === 126 + ) { + effects.consume(code) + return trail + } + + // `&` followed by one or more alphabeticals and then a `;`, is + // as a whole considered as trailing punctuation. + // In all other cases, it is considered as continuation of the URL. + if (code === 38) { + effects.consume(code) + return trailCharRefStart + } + + // Needed because we allow literals after `[`, as we fix: + // . + // Check that it is not followed by `(` or `[`. + if (code === 93) { + effects.consume(code) + return trailBracketAfter + } + if ( + // `<` is an end. + code === 60 || + // So is whitespace. + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return ok(code) + } + return nok(code) + } + + /** + * In trail, after `]`. + * + * > 👉 **Note**: this deviates from `cmark-gfm` to fix a bug. + * > See end of for more. + * + * ```markdown + * > | https://example.com]( + * ^ + * ``` + * + * @type {State} + */ + function trailBracketAfter(code) { + // Whitespace or something that could start a resource or reference is the end. + // Switch back to trail otherwise. + if ( + code === null || + code === 40 || + code === 91 || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return ok(code) + } + return trail(code) + } + + /** + * In character-reference like trail, after `&`. + * + * ```markdown + * > | https://example.com&). + * ^ + * ``` + * + * @type {State} + */ + function trailCharRefStart(code) { + // When non-alpha, it’s not a trail. + return asciiAlpha(code) ? trailCharRefInside(code) : nok(code) + } + + /** + * In character-reference like trail. + * + * ```markdown + * > | https://example.com&). + * ^ + * ``` + * + * @type {State} + */ + function trailCharRefInside(code) { + // Switch back to trail if this is well-formed. + if (code === 59) { + effects.consume(code) + return trail + } + if (asciiAlpha(code)) { + effects.consume(code) + return trailCharRefInside + } + + // It’s not a trail. + return nok(code) + } +} + +/** + * Dot in email domain trail. + * + * This calls `ok` if this *is* the trail, followed by an end, which means + * the trail is not part of the link. + * It calls `nok` if this *is* part of the link. + * + * ```markdown + * > | contact@example.org. + * ^ + * ``` + * + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeEmailDomainDotTrail(effects, ok, nok) { + return start + + /** + * Dot. + * + * ```markdown + * > | contact@example.org. + * ^ ^ + * ``` + * + * @type {State} + */ + function start(code) { + // Must be dot. + effects.consume(code) + return after + } + + /** + * After dot. + * + * ```markdown + * > | contact@example.org. + * ^ ^ + * ``` + * + * @type {State} + */ + function after(code) { + // Not a trail if alphanumeric. + return asciiAlphanumeric(code) ? nok(code) : ok(code) + } +} + +/** + * See: + * . + * + * @type {Previous} + */ +function previousWww(code) { + return ( + code === null || + code === 40 || + code === 42 || + code === 95 || + code === 91 || + code === 93 || + code === 126 || + markdownLineEndingOrSpace(code) + ) +} + +/** + * See: + * . + * + * @type {Previous} + */ +function previousProtocol(code) { + return !asciiAlpha(code) +} + +/** + * @this {TokenizeContext} + * @type {Previous} + */ +function previousEmail(code) { + // Do not allow a slash “inside” atext. + // The reference code is a bit weird, but that’s what it results in. + // Source: . + // Other than slash, every preceding character is allowed. + return !(code === 47 || gfmAtext(code)) +} + +/** + * @param {Code} code + * @returns {boolean} + */ +function gfmAtext(code) { + return ( + code === 43 || + code === 45 || + code === 46 || + code === 95 || + asciiAlphanumeric(code) + ) +} + +/** + * @param {Array} events + * @returns {boolean} + */ +function previousUnbalanced(events) { + let index = events.length + let result = false + while (index--) { + const token = events[index][1] + if ( + (token.type === 'labelLink' || token.type === 'labelImage') && + !token._balanced + ) { + result = true + break + } + + // If we’ve seen this token, and it was marked as not having any unbalanced + // bracket before it, we can exit. + if (token._gfmAutolinkLiteralWalkedInto) { + result = false + break + } + } + if (events.length > 0 && !result) { + // Mark the last token as “walked into” w/o finding + // anything. + events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true + } + return result +} diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character new file mode 120000 index 0000000000..d801a1e183 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../.nitro/micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-sanitize-uri b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-sanitize-uri new file mode 120000 index 0000000000..18795b2f35 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-sanitize-uri @@ -0,0 +1 @@ +../../.nitro/micromark-util-sanitize-uri@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-autolink-literal/package.json b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/package.json new file mode 100644 index 0000000000..7d3916e4f3 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-autolink-literal/package.json @@ -0,0 +1,109 @@ +{ + "name": "micromark-extension-gfm-autolink-literal", + "version": "1.0.5", + "description": "micromark extension to support GFM autolink literals", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "literal", + "url", + "autolink", + "auto", + "link", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-autolink-literal", + "bugs": "https://github.com/micromark/micromark-extension-gfm-autolink-literal/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "create-gfm-fixtures": "^1.0.0", + "micromark": "^3.0.0", + "micromark-build": "^1.0.0", + "prettier": "^2.0.0", + "rehype": "^12.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage && micromark-build", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "complexity": "off", + "n/file-extension-in-import": "off", + "unicorn/no-this-assignment": "off" + }, + "overrides": [ + { + "files": [ + "test/**/*.js" + ], + "rules": { + "no-await-in-loop": 0 + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/index.js b/.output/server/node_modules/micromark-extension-gfm-footnote/index.js new file mode 100644 index 0000000000..a399a81f45 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/index.js @@ -0,0 +1,3 @@ +// Note: types are exported from `dev/index.d.ts`. +export {gfmFootnote} from './lib/syntax.js' +export {gfmFootnoteHtml, defaultBackLabel} from './lib/html.js' diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/lib/html.js b/.output/server/node_modules/micromark-extension-gfm-footnote/lib/html.js new file mode 100644 index 0000000000..d1994ca651 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/lib/html.js @@ -0,0 +1,322 @@ +/** + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + */ + +/** + * @callback BackLabelTemplate + * Generate a back label dynamically. + * + * For the following markdown: + * + * ```markdown + * Alpha[^micromark], bravo[^micromark], and charlie[^remark]. + * + * [^remark]: things about remark + * [^micromark]: things about micromark + * ``` + * + * This function will be called with: + * + * * `0` and `0` for the backreference from `things about micromark` to + * `alpha`, as it is the first used definition, and the first call to it + * * `0` and `1` for the backreference from `things about micromark` to + * `bravo`, as it is the first used definition, and the second call to it + * * `1` and `0` for the backreference from `things about remark` to + * `charlie`, as it is the second used definition + * @param {number} referenceIndex + * Index of the definition in the order that they are first referenced, + * 0-indexed. + * @param {number} rereferenceIndex + * Index of calls to the same definition, 0-indexed. + * @returns {string} + * Back label to use when linking back from definitions to their reference. + */ + +/** + * @typedef Options + * Configuration. + * @property {string} [clobberPrefix='user-content-'] + * Prefix to use before the `id` attribute on footnotes to prevent them from + * *clobbering*. + * + * The default is `'user-content-'`. + * Pass `''` for trusted markdown and when you are careful with + * polyfilling. + * You could pass a different prefix. + * + * DOM clobbering is this: + * + * ```html + *

    + * + * ``` + * + * The above example shows that elements are made available by browsers, by + * their ID, on the `window` object. + * This is a security risk because you might be expecting some other variable + * at that place. + * It can also break polyfills. + * Using a prefix solves these problems. + * @property {string} [label='Footnotes'] + * Textual label to use for the footnotes section. + * + * The default value is `'Footnotes'`. + * Change it when the markdown is not in English. + * + * This label is typically hidden visually (assuming a `sr-only` CSS class + * is defined that does that) and so affects screen readers only. + * If you do have such a class, but want to show this section to everyone, + * pass different attributes with the `labelAttributes` option. + * @property {string} [labelAttributes='class="sr-only"'] + * Attributes to use on the footnote label. + * + * Change it to show the label and add other attributes. + * + * This label is typically hidden visually (assuming an `sr-only` CSS class + * is defined that does that) and so affects screen readers only. + * If you do have such a class, but want to show this section to everyone, + * pass an empty string. + * You can also add different attributes. + * + * > 👉 **Note**: `id="footnote-label"` is always added, because footnote + * > calls use it with `aria-describedby` to provide an accessible label. + * @property {string} [labelTagName='h2'] + * HTML tag name to use for the footnote label element. + * + * Change it to match your document structure. + * + * This label is typically hidden visually (assuming a `sr-only` CSS class + * is defined that does that) and so affects screen readers only. + * If you do have such a class, but want to show this section to everyone, + * pass different attributes with the `labelAttributes` option. + * @property {BackLabelTemplate | string} [backLabel] + * Textual label to describe the backreference back to references. + * + * The default value is: + * + * ```js + * function defaultBackLabel(referenceIndex, rereferenceIndex) { + * return ( + * 'Back to reference ' + + * (referenceIndex + 1) + + * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '') + * ) + * } + * ``` + * + * Change it when the markdown is not in English. + * + * This label is used in the `aria-label` attribute on each backreference + * (the `↩` links). + * It affects users of assistive technology. + */ + +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +import {sanitizeUri} from 'micromark-util-sanitize-uri' +const own = {}.hasOwnProperty + +/** @type {Options} */ +const emptyOptions = {} + +/** + * Generate the default label that GitHub uses on backreferences. + * + * @param {number} referenceIndex + * Index of the definition in the order that they are first referenced, + * 0-indexed. + * @param {number} rereferenceIndex + * Index of calls to the same definition, 0-indexed. + * @returns {string} + * Default label. + */ +export function defaultBackLabel(referenceIndex, rereferenceIndex) { + return ( + 'Back to reference ' + + (referenceIndex + 1) + + (rereferenceIndex > 1 ? '-' + rereferenceIndex : '') + ) +} + +/** + * Create an extension for `micromark` to support GFM footnotes when + * serializing to HTML. + * + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {HtmlExtension} + * Extension for `micromark` that can be passed in `htmlExtensions` to + * support GFM footnotes when serializing to HTML. + */ +export function gfmFootnoteHtml(options) { + const config = options || emptyOptions + const label = config.label || 'Footnotes' + const labelTagName = config.labelTagName || 'h2' + const labelAttributes = + config.labelAttributes === null || config.labelAttributes === undefined + ? 'class="sr-only"' + : config.labelAttributes + const backLabel = config.backLabel || defaultBackLabel + const clobberPrefix = + config.clobberPrefix === null || config.clobberPrefix === undefined + ? 'user-content-' + : config.clobberPrefix + return { + enter: { + gfmFootnoteDefinition() { + const stack = this.getData('tightStack') + stack.push(false) + }, + gfmFootnoteDefinitionLabelString() { + this.buffer() + }, + gfmFootnoteCallString() { + this.buffer() + } + }, + exit: { + gfmFootnoteDefinition() { + let definitions = this.getData('gfmFootnoteDefinitions') + const footnoteStack = this.getData('gfmFootnoteDefinitionStack') + const tightStack = this.getData('tightStack') + const current = footnoteStack.pop() + const value = this.resume() + if (!definitions) { + this.setData('gfmFootnoteDefinitions', (definitions = {})) + } + if (!own.call(definitions, current)) definitions[current] = value + tightStack.pop() + this.setData('slurpOneLineEnding', true) + // “Hack” to prevent a line ending from showing up if we’re in a definition in + // an empty list item. + this.setData('lastWasTag') + }, + gfmFootnoteDefinitionLabelString(token) { + let footnoteStack = + /** @type {Array} */ + this.getData('gfmFootnoteDefinitionStack') + if (!footnoteStack) { + this.setData('gfmFootnoteDefinitionStack', (footnoteStack = [])) + } + footnoteStack.push(normalizeIdentifier(this.sliceSerialize(token))) + this.resume() // Drop the label. + this.buffer() // Get ready for a value. + }, + + gfmFootnoteCallString(token) { + let calls = this.getData('gfmFootnoteCallOrder') + let counts = this.getData('gfmFootnoteCallCounts') + const id = normalizeIdentifier(this.sliceSerialize(token)) + /** @type {number} */ + let counter + this.resume() + if (!calls) this.setData('gfmFootnoteCallOrder', (calls = [])) + if (!counts) this.setData('gfmFootnoteCallCounts', (counts = {})) + const index = calls.indexOf(id) + const safeId = sanitizeUri(id.toLowerCase()) + if (index === -1) { + calls.push(id) + counts[id] = 1 + counter = calls.length + } else { + counts[id]++ + counter = index + 1 + } + const reuseCounter = counts[id] + this.tag( + '' + + String(counter) + + '' + ) + }, + null() { + const calls = + /** @type {Array} */ + this.getData('gfmFootnoteCallOrder') || [] + const counts = + /** @type {Record} */ + this.getData('gfmFootnoteCallCounts') || {} + const definitions = + /** @type {Record} */ + this.getData('gfmFootnoteDefinitions') || {} + let index = -1 + if (calls.length > 0) { + this.lineEndingIfNeeded() + this.tag( + '
    <' + + labelTagName + + ' id="footnote-label"' + + (labelAttributes ? ' ' + labelAttributes : '') + + '>' + ) + this.raw(this.encode(label)) + this.tag('') + this.lineEndingIfNeeded() + this.tag('
      ') + } + while (++index < calls.length) { + // Called definitions are always defined. + const id = calls[index] + const safeId = sanitizeUri(id.toLowerCase()) + let referenceIndex = 0 + /** @type {Array} */ + const references = [] + while (++referenceIndex <= counts[id]) { + references.push( + '↩' + + (referenceIndex > 1 + ? '' + referenceIndex + '' + : '') + + '' + ) + } + const reference = references.join(' ') + let injected = false + this.lineEndingIfNeeded() + this.tag('
    1. ') + this.lineEndingIfNeeded() + this.tag( + definitions[id].replace( + /<\/p>(?:\r?\n|\r)?$/, + (/** @type {string} */ $0) => { + injected = true + return ' ' + reference + $0 + } + ) + ) + if (!injected) { + this.lineEndingIfNeeded() + this.tag(reference) + } + this.lineEndingIfNeeded() + this.tag('
    2. ') + } + if (calls.length > 0) { + this.lineEndingIfNeeded() + this.tag('
    ') + this.lineEndingIfNeeded() + this.tag('
    ') + } + } + } + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/lib/syntax.js b/.output/server/node_modules/micromark-extension-gfm-footnote/lib/syntax.js new file mode 100644 index 0000000000..479346ec76 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/lib/syntax.js @@ -0,0 +1,535 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Exiter} Exiter + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {blankLine} from 'micromark-core-commonmark' +import {factorySpace} from 'micromark-factory-space' +import {markdownLineEndingOrSpace} from 'micromark-util-character' +import {normalizeIdentifier} from 'micromark-util-normalize-identifier' +const indent = { + tokenize: tokenizeIndent, + partial: true +} + +// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only +// affects label start (image). +// That will let us drop `tokenizePotentialGfmFootnote*`. +// It currently has a `_hiddenFootnoteSupport`, which affects that and more. +// That can be removed when `micromark-extension-footnote` is archived. + +/** + * Create an extension for `micromark` to enable GFM footnote syntax. + * + * @returns {Extension} + * Extension for `micromark` that can be passed in `extensions` to + * enable GFM footnote syntax. + */ +export function gfmFootnote() { + /** @type {Extension} */ + return { + document: { + [91]: { + tokenize: tokenizeDefinitionStart, + continuation: { + tokenize: tokenizeDefinitionContinuation + }, + exit: gfmFootnoteDefinitionEnd + } + }, + text: { + [91]: { + tokenize: tokenizeGfmFootnoteCall + }, + [93]: { + add: 'after', + tokenize: tokenizePotentialGfmFootnoteCall, + resolveTo: resolveToPotentialGfmFootnoteCall + } + } + } +} + +// To do: remove after micromark update. +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizePotentialGfmFootnoteCall(effects, ok, nok) { + const self = this + let index = self.events.length + /** @type {Array} */ + // @ts-expect-error It’s fine! + const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []) + /** @type {Token} */ + let labelStart + + // Find an opening. + while (index--) { + const token = self.events[index][1] + if (token.type === 'labelImage') { + labelStart = token + break + } + + // Exit if we’ve walked far enough. + if ( + token.type === 'gfmFootnoteCall' || + token.type === 'labelLink' || + token.type === 'label' || + token.type === 'image' || + token.type === 'link' + ) { + break + } + } + return start + + /** + * @type {State} + */ + function start(code) { + if (!labelStart || !labelStart._balanced) { + return nok(code) + } + const id = normalizeIdentifier( + self.sliceSerialize({ + start: labelStart.end, + end: self.now() + }) + ) + if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) { + return nok(code) + } + effects.enter('gfmFootnoteCallLabelMarker') + effects.consume(code) + effects.exit('gfmFootnoteCallLabelMarker') + return ok(code) + } +} + +// To do: remove after micromark update. +/** @type {Resolver} */ +function resolveToPotentialGfmFootnoteCall(events, context) { + let index = events.length + /** @type {Token | undefined} */ + let labelStart + + // Find an opening. + while (index--) { + if ( + events[index][1].type === 'labelImage' && + events[index][0] === 'enter' + ) { + labelStart = events[index][1] + break + } + } + // Change the `labelImageMarker` to a `data`. + events[index + 1][1].type = 'data' + events[index + 3][1].type = 'gfmFootnoteCallLabelMarker' + + // The whole (without `!`): + /** @type {Token} */ + const call = { + type: 'gfmFootnoteCall', + start: Object.assign({}, events[index + 3][1].start), + end: Object.assign({}, events[events.length - 1][1].end) + } + // The `^` marker + /** @type {Token} */ + const marker = { + type: 'gfmFootnoteCallMarker', + start: Object.assign({}, events[index + 3][1].end), + end: Object.assign({}, events[index + 3][1].end) + } + // Increment the end 1 character. + marker.end.column++ + marker.end.offset++ + marker.end._bufferIndex++ + /** @type {Token} */ + const string = { + type: 'gfmFootnoteCallString', + start: Object.assign({}, marker.end), + end: Object.assign({}, events[events.length - 1][1].start) + } + /** @type {Token} */ + const chunk = { + type: 'chunkString', + contentType: 'string', + start: Object.assign({}, string.start), + end: Object.assign({}, string.end) + } + + /** @type {Array} */ + const replacement = [ + // Take the `labelImageMarker` (now `data`, the `!`) + events[index + 1], + events[index + 2], + ['enter', call, context], + // The `[` + events[index + 3], + events[index + 4], + // The `^`. + ['enter', marker, context], + ['exit', marker, context], + // Everything in between. + ['enter', string, context], + ['enter', chunk, context], + ['exit', chunk, context], + ['exit', string, context], + // The ending (`]`, properly parsed and labelled). + events[events.length - 2], + events[events.length - 1], + ['exit', call, context] + ] + events.splice(index, events.length - index + 1, ...replacement) + return events +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeGfmFootnoteCall(effects, ok, nok) { + const self = this + /** @type {Array} */ + // @ts-expect-error It’s fine! + const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []) + let size = 0 + /** @type {boolean} */ + let data + + // Note: the implementation of `markdown-rs` is different, because it houses + // core *and* extensions in one project. + // Therefore, it can include footnote logic inside `label-end`. + // We can’t do that, but luckily, we can parse footnotes in a simpler way than + // needed for labels. + return start + + /** + * Start of footnote label. + * + * ```markdown + * > | a [^b] c + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('gfmFootnoteCall') + effects.enter('gfmFootnoteCallLabelMarker') + effects.consume(code) + effects.exit('gfmFootnoteCallLabelMarker') + return callStart + } + + /** + * After `[`, at `^`. + * + * ```markdown + * > | a [^b] c + * ^ + * ``` + * + * @type {State} + */ + function callStart(code) { + if (code !== 94) return nok(code) + effects.enter('gfmFootnoteCallMarker') + effects.consume(code) + effects.exit('gfmFootnoteCallMarker') + effects.enter('gfmFootnoteCallString') + effects.enter('chunkString').contentType = 'string' + return callData + } + + /** + * In label. + * + * ```markdown + * > | a [^b] c + * ^ + * ``` + * + * @type {State} + */ + function callData(code) { + if ( + // Too long. + size > 999 || + // Closing brace with nothing. + (code === 93 && !data) || + // Space or tab is not supported by GFM for some reason. + // `\n` and `[` not being supported makes sense. + code === null || + code === 91 || + markdownLineEndingOrSpace(code) + ) { + return nok(code) + } + if (code === 93) { + effects.exit('chunkString') + const token = effects.exit('gfmFootnoteCallString') + if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) { + return nok(code) + } + effects.enter('gfmFootnoteCallLabelMarker') + effects.consume(code) + effects.exit('gfmFootnoteCallLabelMarker') + effects.exit('gfmFootnoteCall') + return ok + } + if (!markdownLineEndingOrSpace(code)) { + data = true + } + size++ + effects.consume(code) + return code === 92 ? callEscape : callData + } + + /** + * On character after escape. + * + * ```markdown + * > | a [^b\c] d + * ^ + * ``` + * + * @type {State} + */ + function callEscape(code) { + if (code === 91 || code === 92 || code === 93) { + effects.consume(code) + size++ + return callData + } + return callData(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeDefinitionStart(effects, ok, nok) { + const self = this + /** @type {Array} */ + // @ts-expect-error It’s fine! + const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []) + /** @type {string} */ + let identifier + let size = 0 + /** @type {boolean | undefined} */ + let data + return start + + /** + * Start of GFM footnote definition. + * + * ```markdown + * > | [^a]: b + * ^ + * ``` + * + * @type {State} + */ + function start(code) { + effects.enter('gfmFootnoteDefinition')._container = true + effects.enter('gfmFootnoteDefinitionLabel') + effects.enter('gfmFootnoteDefinitionLabelMarker') + effects.consume(code) + effects.exit('gfmFootnoteDefinitionLabelMarker') + return labelAtMarker + } + + /** + * In label, at caret. + * + * ```markdown + * > | [^a]: b + * ^ + * ``` + * + * @type {State} + */ + function labelAtMarker(code) { + if (code === 94) { + effects.enter('gfmFootnoteDefinitionMarker') + effects.consume(code) + effects.exit('gfmFootnoteDefinitionMarker') + effects.enter('gfmFootnoteDefinitionLabelString') + effects.enter('chunkString').contentType = 'string' + return labelInside + } + return nok(code) + } + + /** + * In label. + * + * > 👉 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote + * > definition labels. + * + * ```markdown + * > | [^a]: b + * ^ + * ``` + * + * @type {State} + */ + function labelInside(code) { + if ( + // Too long. + size > 999 || + // Closing brace with nothing. + (code === 93 && !data) || + // Space or tab is not supported by GFM for some reason. + // `\n` and `[` not being supported makes sense. + code === null || + code === 91 || + markdownLineEndingOrSpace(code) + ) { + return nok(code) + } + if (code === 93) { + effects.exit('chunkString') + const token = effects.exit('gfmFootnoteDefinitionLabelString') + identifier = normalizeIdentifier(self.sliceSerialize(token)) + effects.enter('gfmFootnoteDefinitionLabelMarker') + effects.consume(code) + effects.exit('gfmFootnoteDefinitionLabelMarker') + effects.exit('gfmFootnoteDefinitionLabel') + return labelAfter + } + if (!markdownLineEndingOrSpace(code)) { + data = true + } + size++ + effects.consume(code) + return code === 92 ? labelEscape : labelInside + } + + /** + * After `\`, at a special character. + * + * > 👉 **Note**: `cmark-gfm` currently does not support escaped brackets: + * > + * + * ```markdown + * > | [^a\*b]: c + * ^ + * ``` + * + * @type {State} + */ + function labelEscape(code) { + if (code === 91 || code === 92 || code === 93) { + effects.consume(code) + size++ + return labelInside + } + return labelInside(code) + } + + /** + * After definition label. + * + * ```markdown + * > | [^a]: b + * ^ + * ``` + * + * @type {State} + */ + function labelAfter(code) { + if (code === 58) { + effects.enter('definitionMarker') + effects.consume(code) + effects.exit('definitionMarker') + if (!defined.includes(identifier)) { + defined.push(identifier) + } + + // Any whitespace after the marker is eaten, forming indented code + // is not possible. + // No space is also fine, just like a block quote marker. + return factorySpace( + effects, + whitespaceAfter, + 'gfmFootnoteDefinitionWhitespace' + ) + } + return nok(code) + } + + /** + * After definition prefix. + * + * ```markdown + * > | [^a]: b + * ^ + * ``` + * + * @type {State} + */ + function whitespaceAfter(code) { + // `markdown-rs` has a wrapping token for the prefix that is closed here. + return ok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeDefinitionContinuation(effects, ok, nok) { + /// Start of footnote definition continuation. + /// + /// ```markdown + /// | [^a]: b + /// > | c + /// ^ + /// ``` + // + // Either a blank line, which is okay, or an indented thing. + return effects.check(blankLine, ok, effects.attempt(indent, ok, nok)) +} + +/** @type {Exiter} */ +function gfmFootnoteDefinitionEnd(effects) { + effects.exit('gfmFootnoteDefinition') +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeIndent(effects, ok, nok) { + const self = this + return factorySpace( + effects, + afterPrefix, + 'gfmFootnoteDefinitionIndent', + 4 + 1 + ) + + /** + * @type {State} + */ + function afterPrefix(code) { + const tail = self.events[self.events.length - 1] + return tail && + tail[1].type === 'gfmFootnoteDefinitionIndent' && + tail[2].sliceSerialize(tail[1], true).length === 4 + ? ok(code) + : nok(code) + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark new file mode 120000 index 0000000000..4480021848 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark @@ -0,0 +1 @@ +../../.nitro/micromark-core-commonmark@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space new file mode 120000 index 0000000000..b87e43ff0e --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../.nitro/micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character new file mode 120000 index 0000000000..d801a1e183 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../.nitro/micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-normalize-identifier b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-normalize-identifier new file mode 120000 index 0000000000..05b7f4fdf4 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-normalize-identifier @@ -0,0 +1 @@ +../../.nitro/micromark-util-normalize-identifier@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-sanitize-uri b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-sanitize-uri new file mode 120000 index 0000000000..18795b2f35 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-sanitize-uri @@ -0,0 +1 @@ +../../.nitro/micromark-util-sanitize-uri@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-footnote/package.json b/.output/server/node_modules/micromark-extension-gfm-footnote/package.json new file mode 100644 index 0000000000..6dc4c27d4f --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-footnote/package.json @@ -0,0 +1,109 @@ +{ + "name": "micromark-extension-gfm-footnote", + "version": "1.1.2", + "description": "micromark extension to support GFM footnotes", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "gfm", + "footnote", + "note", + "definition", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-footnote", + "bugs": "https://github.com/micromark/micromark-extension-gfm-footnote/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "create-gfm-fixtures": "^1.0.0", + "micromark": "^3.0.0", + "micromark-build": "^1.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage && micromark-build", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "n/file-extension-in-import": "off", + "unicorn/no-this-assignment": "off" + }, + "overrides": [ + { + "files": [ + "test/**/*.js" + ], + "rules": { + "no-await-in-loop": 0 + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/index.js b/.output/server/node_modules/micromark-extension-gfm-strikethrough/index.js new file mode 100644 index 0000000000..127b78300b --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/index.js @@ -0,0 +1,3 @@ +// Note: more types exposed from `index.d.ts`. +export {gfmStrikethroughHtml} from './lib/html.js' +export {gfmStrikethrough} from './lib/syntax.js' diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/html.js b/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/html.js new file mode 100644 index 0000000000..c72e628507 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/html.js @@ -0,0 +1,24 @@ +/** + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + */ + +// To do: next major: expose function instead of object. + +/** + * Extension for `micromark` that can be passed in `htmlExtensions`, to + * support GFM strikethrough when serializing to HTML. + * + * @type {HtmlExtension} + */ +export const gfmStrikethroughHtml = { + enter: { + strikethrough() { + this.tag('') + } + }, + exit: { + strikethrough() { + this.tag('') + } + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js b/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js new file mode 100644 index 0000000000..52f261db1f --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js @@ -0,0 +1,181 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + * + * @typedef Options + * Configuration (optional). + * @property {boolean} [singleTilde=true] + * Whether to support strikethrough with a single tilde. + * + * Single tildes work on github.com, but are technically prohibited by the + * GFM spec. + */ + +import {splice} from 'micromark-util-chunked' +import {classifyCharacter} from 'micromark-util-classify-character' +import {resolveAll} from 'micromark-util-resolve-all' +/** + * Create an extension for `micromark` to enable GFM strikethrough syntax. + * + * @param {Options | null | undefined} [options] + * Configuration. + * @returns {Extension} + * Extension for `micromark` that can be passed in `extensions`, to + * enable GFM strikethrough syntax. + */ +export function gfmStrikethrough(options) { + const options_ = options || {} + let single = options_.singleTilde + const tokenizer = { + tokenize: tokenizeStrikethrough, + resolveAll: resolveAllStrikethrough + } + if (single === null || single === undefined) { + single = true + } + return { + text: { + [126]: tokenizer + }, + insideSpan: { + null: [tokenizer] + }, + attentionMarkers: { + null: [126] + } + } + + /** + * Take events and resolve strikethrough. + * + * @type {Resolver} + */ + function resolveAllStrikethrough(events, context) { + let index = -1 + + // Walk through all events. + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'strikethroughSequenceTemporary' && + events[index][1]._close + ) { + let open = index + + // Now walk back to find an opener. + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'strikethroughSequenceTemporary' && + events[open][1]._open && + // If the sizes are the same: + events[index][1].end.offset - events[index][1].start.offset === + events[open][1].end.offset - events[open][1].start.offset + ) { + events[index][1].type = 'strikethroughSequence' + events[open][1].type = 'strikethroughSequence' + + /** @type {Token} */ + const strikethrough = { + type: 'strikethrough', + start: Object.assign({}, events[open][1].start), + end: Object.assign({}, events[index][1].end) + } + + /** @type {Token} */ + const text = { + type: 'strikethroughText', + start: Object.assign({}, events[open][1].end), + end: Object.assign({}, events[index][1].start) + } + + // Opening. + /** @type {Array} */ + const nextEvents = [ + ['enter', strikethrough, context], + ['enter', events[open][1], context], + ['exit', events[open][1], context], + ['enter', text, context] + ] + const insideSpan = context.parser.constructs.insideSpan.null + if (insideSpan) { + // Between. + splice( + nextEvents, + nextEvents.length, + 0, + resolveAll(insideSpan, events.slice(open + 1, index), context) + ) + } + + // Closing. + splice(nextEvents, nextEvents.length, 0, [ + ['exit', text, context], + ['enter', events[index][1], context], + ['exit', events[index][1], context], + ['exit', strikethrough, context] + ]) + splice(events, open - 1, index - open + 3, nextEvents) + index = open + nextEvents.length - 2 + break + } + } + } + } + index = -1 + while (++index < events.length) { + if (events[index][1].type === 'strikethroughSequenceTemporary') { + events[index][1].type = 'data' + } + } + return events + } + + /** + * @this {TokenizeContext} + * @type {Tokenizer} + */ + function tokenizeStrikethrough(effects, ok, nok) { + const previous = this.previous + const events = this.events + let size = 0 + return start + + /** @type {State} */ + function start(code) { + if ( + previous === 126 && + events[events.length - 1][1].type !== 'characterEscape' + ) { + return nok(code) + } + effects.enter('strikethroughSequenceTemporary') + return more(code) + } + + /** @type {State} */ + function more(code) { + const before = classifyCharacter(previous) + if (code === 126) { + // If this is the third marker, exit. + if (size > 1) return nok(code) + effects.consume(code) + size++ + return more + } + if (size < 2 && !single) return nok(code) + const token = effects.exit('strikethroughSequenceTemporary') + const after = classifyCharacter(code) + token._open = !after || (after === 2 && Boolean(before)) + token._close = !before || (before === 2 && Boolean(after)) + return ok(code) + } + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-chunked b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..d7713bd02c --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +../../.nitro/micromark-util-chunked@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character new file mode 120000 index 0000000000..49d7b255d5 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character @@ -0,0 +1 @@ +../../.nitro/micromark-util-classify-character@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-resolve-all b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..4eae09ce3d --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +../../.nitro/micromark-util-resolve-all@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-strikethrough/package.json b/.output/server/node_modules/micromark-extension-gfm-strikethrough/package.json new file mode 100644 index 0000000000..9a299729f7 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-strikethrough/package.json @@ -0,0 +1,110 @@ +{ + "name": "micromark-extension-gfm-strikethrough", + "version": "1.0.7", + "description": "micromark extension to support GFM strikethrough", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "strikethrough", + "strike", + "through", + "del", + "delete", + "deletion", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-strikethrough", + "bugs": "https://github.com/micromark/micromark-extension-gfm-strikethrough/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "create-gfm-fixtures": "^1.0.0", + "micromark": "^3.0.0", + "micromark-build": "^1.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "tape": "^5.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage && micromark-build", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "n/file-extension-in-import": "off", + "max-depth": "off", + "unicorn/prefer-node-protocol": "off" + }, + "overrides": [ + { + "files": "test/**/*.js", + "rules": { + "no-await-in-loop": 0 + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-table/index.js b/.output/server/node_modules/micromark-extension-gfm-table/index.js new file mode 100644 index 0000000000..dcb556083f --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/index.js @@ -0,0 +1,2 @@ +export {gfmTableHtml} from './lib/html.js' +export {gfmTable} from './lib/syntax.js' diff --git a/.output/server/node_modules/micromark-extension-gfm-table/lib/edit-map.js b/.output/server/node_modules/micromark-extension-gfm-table/lib/edit-map.js new file mode 100644 index 0000000000..826df4da91 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/lib/edit-map.js @@ -0,0 +1,201 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + */ + +// Port of `edit_map.rs` from `markdown-rs`. +// This should move to `markdown-js` later. + +// Deal with several changes in events, batching them together. +// +// Preferably, changes should be kept to a minimum. +// Sometimes, it’s needed to change the list of events, because parsing can be +// messy, and it helps to expose a cleaner interface of events to the compiler +// and other users. +// It can also help to merge many adjacent similar events. +// And, in other cases, it’s needed to parse subcontent: pass some events +// through another tokenizer and inject the result. + +/** + * @typedef {[number, number, Array]} Change + * @typedef {[number, number, number]} Jump + */ + +/** + * Tracks a bunch of edits. + */ +export class EditMap { + /** + * Create a new edit map. + */ + constructor() { + /** + * Record of changes. + * + * @type {Array} + */ + this.map = [] + } + + /** + * Create an edit: a remove and/or add at a certain place. + * + * @param {number} index + * @param {number} remove + * @param {Array} add + * @returns {void} + */ + add(index, remove, add) { + addImpl(this, index, remove, add) + } + + // To do: not used here. + // /** + // * Create an edit: but insert `add` before existing additions. + // * + // * @param {number} index + // * @param {number} remove + // * @param {Array} add + // * @returns {void} + // */ + // addBefore(index, remove, add) { + // addImpl(this, index, remove, add, true) + // } + + /** + * Done, change the events. + * + * @param {Array} events + * @returns {void} + */ + consume(events) { + this.map.sort((a, b) => a[0] - b[0]) + + /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */ + if (this.map.length === 0) { + return + } + + // To do: if links are added in events, like they are in `markdown-rs`, + // this is needed. + // // Calculate jumps: where items in the current list move to. + // /** @type {Array} */ + // const jumps = [] + // let index = 0 + // let addAcc = 0 + // let removeAcc = 0 + // while (index < this.map.length) { + // const [at, remove, add] = this.map[index] + // removeAcc += remove + // addAcc += add.length + // jumps.push([at, removeAcc, addAcc]) + // index += 1 + // } + // + // . shiftLinks(events, jumps) + + let index = this.map.length + /** @type {Array>} */ + const vecs = [] + while (index > 0) { + index -= 1 + vecs.push(events.slice(this.map[index][0] + this.map[index][1])) + // eslint-disable-next-line unicorn/no-array-push-push + vecs.push(this.map[index][2]) + + // Truncate rest. + events.length = this.map[index][0] + } + vecs.push([...events]) + events.length = 0 + let slice = vecs.pop() + while (slice) { + events.push(...slice) + slice = vecs.pop() + } + + // Truncate everything. + this.map.length = 0 + } +} + +/** + * Create an edit. + * + * @param {EditMap} editMap + * @param {number} at + * @param {number} remove + * @param {Array} add + * @returns {void} + */ +function addImpl(editMap, at, remove, add) { + let index = 0 + + /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */ + if (remove === 0 && add.length === 0) { + return + } + while (index < editMap.map.length) { + if (editMap.map[index][0] === at) { + editMap.map[index][1] += remove + + // To do: before not used. + // if (before) { + // add.push(...editMap.map[index][2]) + // editMap.map[index][2] = add + // } else { + editMap.map[index][2].push(...add) + // } + + return + } + index += 1 + } + editMap.map.push([at, remove, add]) +} + +// /** +// * Shift `previous` and `next` links according to `jumps`. +// * +// * This fixes links in case there are events removed or added between them. +// * +// * @param {Array} events +// * @param {Array} jumps +// */ +// function shiftLinks(events, jumps) { +// let jumpIndex = 0 +// let index = 0 +// let add = 0 +// let rm = 0 + +// while (index < events.length) { +// const rmCurr = rm + +// while (jumpIndex < jumps.length && jumps[jumpIndex][0] <= index) { +// add = jumps[jumpIndex][2] +// rm = jumps[jumpIndex][1] +// jumpIndex += 1 +// } + +// // Ignore items that will be removed. +// if (rm > rmCurr) { +// index += rm - rmCurr +// } else { +// console.log('to do: links?', add, rmCurr) +// // ? +// // if let Some(link) = &events[index].link { +// // if let Some(next) = link.next { +// // events[next].link.as_mut().unwrap().previous = Some(index + add - rm); +// // while jumpIndex < jumps.len() && jumps[jumpIndex].0 <= next { +// // add = jumps[jumpIndex].2; +// // rm = jumps[jumpIndex].1; +// // jumpIndex += 1; +// // } +// // events[index].link.as_mut().unwrap().next = Some(next + add - rm); +// // index = next; +// // continue; +// // } +// // } +// index += 1 +// } +// } +// } diff --git a/.output/server/node_modules/micromark-extension-gfm-table/lib/html.js b/.output/server/node_modules/micromark-extension-gfm-table/lib/html.js new file mode 100644 index 0000000000..70e82c8d4d --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/lib/html.js @@ -0,0 +1,131 @@ +/** + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + */ + +/** + * @typedef {import('./infer.js').Align} Align + */ + +const alignment = { + none: '', + left: ' align="left"', + right: ' align="right"', + center: ' align="center"' +} + +// To do: next major: expose functions. +// To do: next major: use `infer` here, when all events are exposed. + +/** + * Extension for `micromark` that can be passed in `htmlExtensions` to support + * GFM tables when serializing to HTML. + * + * @type {HtmlExtension} + */ +export const gfmTableHtml = { + enter: { + table(token) { + const tableAlign = token._align + this.lineEndingIfNeeded() + this.tag('') + this.setData('tableAlign', tableAlign) + }, + tableBody() { + this.tag('') + }, + tableData() { + const tableAlign = this.getData('tableAlign') + const tableColumn = this.getData('tableColumn') + const align = alignment[tableAlign[tableColumn]] + if (align === undefined) { + // Capture results to ignore them. + this.buffer() + } else { + this.lineEndingIfNeeded() + this.tag('') + } + }, + tableHead() { + this.lineEndingIfNeeded() + this.tag('') + }, + tableHeader() { + const tableAlign = this.getData('tableAlign') + const tableColumn = this.getData('tableColumn') + const align = alignment[tableAlign[tableColumn]] + this.lineEndingIfNeeded() + this.tag('') + }, + tableRow() { + this.setData('tableColumn', 0) + this.lineEndingIfNeeded() + this.tag('') + } + }, + exit: { + // Overwrite the default code text data handler to unescape escaped pipes when + // they are in tables. + codeTextData(token) { + let value = this.sliceSerialize(token) + if (this.getData('tableAlign')) { + value = value.replace(/\\([\\|])/g, replace) + } + this.raw(this.encode(value)) + }, + table() { + this.setData('tableAlign') + // Note: we don’t set `slurpAllLineEndings` anymore, in delimiter rows, + // but we do need to reset it to match a funky newline GH generates for + // list items combined with tables. + this.setData('slurpAllLineEndings') + this.lineEndingIfNeeded() + this.tag('
    ') + }, + tableBody() { + this.lineEndingIfNeeded() + this.tag('') + }, + tableData() { + const tableAlign = this.getData('tableAlign') + const tableColumn = this.getData('tableColumn') + if (tableColumn in tableAlign) { + this.tag('') + this.setData('tableColumn', tableColumn + 1) + } else { + // Stop capturing. + this.resume() + } + }, + tableHead() { + this.lineEndingIfNeeded() + this.tag('') + }, + tableHeader() { + const tableColumn = this.getData('tableColumn') + this.tag('') + this.setData('tableColumn', tableColumn + 1) + }, + tableRow() { + const tableAlign = this.getData('tableAlign') + let tableColumn = this.getData('tableColumn') + while (tableColumn < tableAlign.length) { + this.lineEndingIfNeeded() + this.tag('') + tableColumn++ + } + this.setData('tableColumn', tableColumn) + this.lineEndingIfNeeded() + this.tag('') + } + } +} + +/** + * @param {string} $0 + * @param {string} $1 + * @returns {string} + */ +function replace($0, $1) { + // Pipes work, backslashes don’t (but can’t escape pipes). + return $1 === '|' ? $1 : $0 +} diff --git a/.output/server/node_modules/micromark-extension-gfm-table/lib/infer.js b/.output/server/node_modules/micromark-extension-gfm-table/lib/infer.js new file mode 100644 index 0000000000..42e8627e2e --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/lib/infer.js @@ -0,0 +1,53 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + */ + +/** + * @typedef {'left' | 'center' | 'right' | 'none'} Align + */ + +/** + * Figure out the alignment of a GFM table. + * + * @param {Array} events + * @param {number} index + * @returns {Array} + */ +export function gfmTableAlign(events, index) { + let inDelimiterRow = false + /** @type {Array} */ + const align = [] + while (index < events.length) { + const event = events[index] + if (inDelimiterRow) { + if (event[0] === 'enter') { + // Start of alignment value: set a new column. + // To do: `markdown-rs` uses `tableDelimiterCellValue`. + if (event[1].type === 'tableContent') { + align.push( + events[index + 1][1].type === 'tableDelimiterMarker' + ? 'left' + : 'none' + ) + } + } + // Exits: + // End of alignment value: change the column. + // To do: `markdown-rs` uses `tableDelimiterCellValue`. + else if (event[1].type === 'tableContent') { + if (events[index - 1][1].type === 'tableDelimiterMarker') { + const alignIndex = align.length - 1 + align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right' + } + } + // Done! + else if (event[1].type === 'tableDelimiterRow') { + break + } + } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') { + inDelimiterRow = true + } + index += 1 + } + return align +} diff --git a/.output/server/node_modules/micromark-extension-gfm-table/lib/syntax.js b/.output/server/node_modules/micromark-extension-gfm-table/lib/syntax.js new file mode 100644 index 0000000000..b60eaf93d2 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/lib/syntax.js @@ -0,0 +1,882 @@ +/** + * @typedef {import('micromark-util-types').Event} Event + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').Point} Point + * @typedef {import('micromark-util-types').Resolver} Resolver + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').Token} Token + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +/** + * @typedef {[number, number, number, number]} Range + * Cell info. + * + * @typedef {0 | 1 | 2 | 3} RowKind + * Where we are: `1` for head row, `2` for delimiter row, `3` for body row. + */ + +import {factorySpace} from 'micromark-factory-space' +import { + markdownLineEnding, + markdownLineEndingOrSpace, + markdownSpace +} from 'micromark-util-character' +import {EditMap} from './edit-map.js' +import {gfmTableAlign} from './infer.js' + +// To do: next major: expose functions. + +/** + * Extension for `micromark` that can be passed in `extensions` to enable GFM + * table syntax. + * + * @type {Extension} + */ +export const gfmTable = { + flow: { + null: { + tokenize: tokenizeTable, + resolveAll: resolveTable + } + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeTable(effects, ok, nok) { + const self = this + let size = 0 + let sizeB = 0 + /** @type {boolean | undefined} */ + let seen + return start + + /** + * Start of a GFM table. + * + * If there is a valid table row or table head before, then we try to parse + * another row. + * Otherwise, we try to parse a head. + * + * ```markdown + * > | | a | + * ^ + * | | - | + * > | | b | + * ^ + * ``` + * @type {State} + */ + function start(code) { + let index = self.events.length - 1 + while (index > -1) { + const type = self.events[index][1].type + if ( + type === 'lineEnding' || + // Note: markdown-rs uses `whitespace` instead of `linePrefix` + type === 'linePrefix' + ) + index-- + else break + } + const tail = index > -1 ? self.events[index][1].type : null + const next = + tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore + + // Don’t allow lazy body rows. + if (next === bodyRowStart && self.parser.lazy[self.now().line]) { + return nok(code) + } + return next(code) + } + + /** + * Before table head row. + * + * ```markdown + * > | | a | + * ^ + * | | - | + * | | b | + * ``` + * + * @type {State} + */ + function headRowBefore(code) { + effects.enter('tableHead') + effects.enter('tableRow') + return headRowStart(code) + } + + /** + * Before table head row, after whitespace. + * + * ```markdown + * > | | a | + * ^ + * | | - | + * | | b | + * ``` + * + * @type {State} + */ + function headRowStart(code) { + if (code === 124) { + return headRowBreak(code) + } + + // To do: micromark-js should let us parse our own whitespace in extensions, + // like `markdown-rs`: + // + // ```js + // // 4+ spaces. + // if (markdownSpace(code)) { + // return nok(code) + // } + // ``` + + seen = true + // Count the first character, that isn’t a pipe, double. + sizeB += 1 + return headRowBreak(code) + } + + /** + * At break in table head row. + * + * ```markdown + * > | | a | + * ^ + * ^ + * ^ + * | | - | + * | | b | + * ``` + * + * @type {State} + */ + function headRowBreak(code) { + if (code === null) { + // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t. + return nok(code) + } + if (markdownLineEnding(code)) { + // If anything other than one pipe (ignoring whitespace) was used, it’s fine. + if (sizeB > 1) { + sizeB = 0 + // To do: check if this works. + // Feel free to interrupt: + self.interrupt = true + effects.exit('tableRow') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return headDelimiterStart + } + + // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t. + return nok(code) + } + if (markdownSpace(code)) { + // To do: check if this is fine. + // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok) + // State::Retry(space_or_tab(tokenizer)) + return factorySpace(effects, headRowBreak, 'whitespace')(code) + } + sizeB += 1 + if (seen) { + seen = false + // Header cell count. + size += 1 + } + if (code === 124) { + effects.enter('tableCellDivider') + effects.consume(code) + effects.exit('tableCellDivider') + // Whether a delimiter was seen. + seen = true + return headRowBreak + } + + // Anything else is cell data. + effects.enter('data') + return headRowData(code) + } + + /** + * In table head row data. + * + * ```markdown + * > | | a | + * ^ + * | | - | + * | | b | + * ``` + * + * @type {State} + */ + function headRowData(code) { + if (code === null || code === 124 || markdownLineEndingOrSpace(code)) { + effects.exit('data') + return headRowBreak(code) + } + effects.consume(code) + return code === 92 ? headRowEscape : headRowData + } + + /** + * In table head row escape. + * + * ```markdown + * > | | a\-b | + * ^ + * | | ---- | + * | | c | + * ``` + * + * @type {State} + */ + function headRowEscape(code) { + if (code === 92 || code === 124) { + effects.consume(code) + return headRowData + } + return headRowData(code) + } + + /** + * Before delimiter row. + * + * ```markdown + * | | a | + * > | | - | + * ^ + * | | b | + * ``` + * + * @type {State} + */ + function headDelimiterStart(code) { + // Reset `interrupt`. + self.interrupt = false + + // Note: in `markdown-rs`, we need to handle piercing here too. + if (self.parser.lazy[self.now().line]) { + return nok(code) + } + effects.enter('tableDelimiterRow') + // Track if we’ve seen a `:` or `|`. + seen = false + if (markdownSpace(code)) { + return factorySpace( + effects, + headDelimiterBefore, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } + return headDelimiterBefore(code) + } + + /** + * Before delimiter row, after optional whitespace. + * + * Reused when a `|` is found later, to parse another cell. + * + * ```markdown + * | | a | + * > | | - | + * ^ + * | | b | + * ``` + * + * @type {State} + */ + function headDelimiterBefore(code) { + if (code === 45 || code === 58) { + return headDelimiterValueBefore(code) + } + if (code === 124) { + seen = true + // If we start with a pipe, we open a cell marker. + effects.enter('tableCellDivider') + effects.consume(code) + effects.exit('tableCellDivider') + return headDelimiterCellBefore + } + + // More whitespace / empty row not allowed at start. + return headDelimiterNok(code) + } + + /** + * After `|`, before delimiter cell. + * + * ```markdown + * | | a | + * > | | - | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterCellBefore(code) { + if (markdownSpace(code)) { + return factorySpace(effects, headDelimiterValueBefore, 'whitespace')(code) + } + return headDelimiterValueBefore(code) + } + + /** + * Before delimiter cell value. + * + * ```markdown + * | | a | + * > | | - | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterValueBefore(code) { + // Align: left. + if (code === 58) { + sizeB += 1 + seen = true + effects.enter('tableDelimiterMarker') + effects.consume(code) + effects.exit('tableDelimiterMarker') + return headDelimiterLeftAlignmentAfter + } + + // Align: none. + if (code === 45) { + sizeB += 1 + // To do: seems weird that this *isn’t* left aligned, but that state is used? + return headDelimiterLeftAlignmentAfter(code) + } + if (code === null || markdownLineEnding(code)) { + return headDelimiterCellAfter(code) + } + return headDelimiterNok(code) + } + + /** + * After delimiter cell left alignment marker. + * + * ```markdown + * | | a | + * > | | :- | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterLeftAlignmentAfter(code) { + if (code === 45) { + effects.enter('tableDelimiterFiller') + return headDelimiterFiller(code) + } + + // Anything else is not ok after the left-align colon. + return headDelimiterNok(code) + } + + /** + * In delimiter cell filler. + * + * ```markdown + * | | a | + * > | | - | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterFiller(code) { + if (code === 45) { + effects.consume(code) + return headDelimiterFiller + } + + // Align is `center` if it was `left`, `right` otherwise. + if (code === 58) { + seen = true + effects.exit('tableDelimiterFiller') + effects.enter('tableDelimiterMarker') + effects.consume(code) + effects.exit('tableDelimiterMarker') + return headDelimiterRightAlignmentAfter + } + effects.exit('tableDelimiterFiller') + return headDelimiterRightAlignmentAfter(code) + } + + /** + * After delimiter cell right alignment marker. + * + * ```markdown + * | | a | + * > | | -: | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterRightAlignmentAfter(code) { + if (markdownSpace(code)) { + return factorySpace(effects, headDelimiterCellAfter, 'whitespace')(code) + } + return headDelimiterCellAfter(code) + } + + /** + * After delimiter cell. + * + * ```markdown + * | | a | + * > | | -: | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterCellAfter(code) { + if (code === 124) { + return headDelimiterBefore(code) + } + if (code === null || markdownLineEnding(code)) { + // Exit when: + // * there was no `:` or `|` at all (it’s a thematic break or setext + // underline instead) + // * the header cell count is not the delimiter cell count + if (!seen || size !== sizeB) { + return headDelimiterNok(code) + } + + // Note: in markdown-rs`, a reset is needed here. + effects.exit('tableDelimiterRow') + effects.exit('tableHead') + // To do: in `markdown-rs`, resolvers need to be registered manually. + // effects.register_resolver(ResolveName::GfmTable) + return ok(code) + } + return headDelimiterNok(code) + } + + /** + * In delimiter row, at a disallowed byte. + * + * ```markdown + * | | a | + * > | | x | + * ^ + * ``` + * + * @type {State} + */ + function headDelimiterNok(code) { + // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t. + return nok(code) + } + + /** + * Before table body row. + * + * ```markdown + * | | a | + * | | - | + * > | | b | + * ^ + * ``` + * + * @type {State} + */ + function bodyRowStart(code) { + // Note: in `markdown-rs` we need to manually take care of a prefix, + // but in `micromark-js` that is done for us, so if we’re here, we’re + // never at whitespace. + effects.enter('tableRow') + return bodyRowBreak(code) + } + + /** + * At break in table body row. + * + * ```markdown + * | | a | + * | | - | + * > | | b | + * ^ + * ^ + * ^ + * ``` + * + * @type {State} + */ + function bodyRowBreak(code) { + if (code === 124) { + effects.enter('tableCellDivider') + effects.consume(code) + effects.exit('tableCellDivider') + return bodyRowBreak + } + if (code === null || markdownLineEnding(code)) { + effects.exit('tableRow') + return ok(code) + } + if (markdownSpace(code)) { + return factorySpace(effects, bodyRowBreak, 'whitespace')(code) + } + + // Anything else is cell content. + effects.enter('data') + return bodyRowData(code) + } + + /** + * In table body row data. + * + * ```markdown + * | | a | + * | | - | + * > | | b | + * ^ + * ``` + * + * @type {State} + */ + function bodyRowData(code) { + if (code === null || code === 124 || markdownLineEndingOrSpace(code)) { + effects.exit('data') + return bodyRowBreak(code) + } + effects.consume(code) + return code === 92 ? bodyRowEscape : bodyRowData + } + + /** + * In table body row escape. + * + * ```markdown + * | | a | + * | | ---- | + * > | | b\-c | + * ^ + * ``` + * + * @type {State} + */ + function bodyRowEscape(code) { + if (code === 92 || code === 124) { + effects.consume(code) + return bodyRowData + } + return bodyRowData(code) + } +} + +/** @type {Resolver} */ +// eslint-disable-next-line complexity +function resolveTable(events, context) { + let index = -1 + let inFirstCellAwaitingPipe = true + /** @type {RowKind} */ + let rowKind = 0 + /** @type {Range} */ + let lastCell = [0, 0, 0, 0] + /** @type {Range} */ + let cell = [0, 0, 0, 0] + let afterHeadAwaitingFirstBodyRow = false + let lastTableEnd = 0 + /** @type {Token | undefined} */ + let currentTable + /** @type {Token | undefined} */ + let currentBody + /** @type {Token | undefined} */ + let currentCell + const map = new EditMap() + while (++index < events.length) { + const event = events[index] + const token = event[1] + if (event[0] === 'enter') { + // Start of head. + if (token.type === 'tableHead') { + afterHeadAwaitingFirstBodyRow = false + + // Inject previous (body end and) table end. + if (lastTableEnd !== 0) { + flushTableEnd(map, context, lastTableEnd, currentTable, currentBody) + currentBody = undefined + lastTableEnd = 0 + } + + // Inject table start. + currentTable = { + type: 'table', + start: Object.assign({}, token.start), + // Note: correct end is set later. + end: Object.assign({}, token.end) + } + map.add(index, 0, [['enter', currentTable, context]]) + } else if ( + token.type === 'tableRow' || + token.type === 'tableDelimiterRow' + ) { + inFirstCellAwaitingPipe = true + currentCell = undefined + lastCell = [0, 0, 0, 0] + cell = [0, index + 1, 0, 0] + + // Inject table body start. + if (afterHeadAwaitingFirstBodyRow) { + afterHeadAwaitingFirstBodyRow = false + currentBody = { + type: 'tableBody', + start: Object.assign({}, token.start), + // Note: correct end is set later. + end: Object.assign({}, token.end) + } + map.add(index, 0, [['enter', currentBody, context]]) + } + rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1 + } + // Cell data. + else if ( + rowKind && + (token.type === 'data' || + token.type === 'tableDelimiterMarker' || + token.type === 'tableDelimiterFiller') + ) { + inFirstCellAwaitingPipe = false + + // First value in cell. + if (cell[2] === 0) { + if (lastCell[1] !== 0) { + cell[0] = cell[1] + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + undefined, + currentCell + ) + lastCell = [0, 0, 0, 0] + } + cell[2] = index + } + } else if (token.type === 'tableCellDivider') { + if (inFirstCellAwaitingPipe) { + inFirstCellAwaitingPipe = false + } else { + if (lastCell[1] !== 0) { + cell[0] = cell[1] + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + undefined, + currentCell + ) + } + lastCell = cell + cell = [lastCell[1], index, 0, 0] + } + } + } + // Exit events. + else if (token.type === 'tableHead') { + afterHeadAwaitingFirstBodyRow = true + lastTableEnd = index + } else if ( + token.type === 'tableRow' || + token.type === 'tableDelimiterRow' + ) { + lastTableEnd = index + if (lastCell[1] !== 0) { + cell[0] = cell[1] + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + index, + currentCell + ) + } else if (cell[1] !== 0) { + currentCell = flushCell(map, context, cell, rowKind, index, currentCell) + } + rowKind = 0 + } else if ( + rowKind && + (token.type === 'data' || + token.type === 'tableDelimiterMarker' || + token.type === 'tableDelimiterFiller') + ) { + cell[3] = index + } + } + if (lastTableEnd !== 0) { + flushTableEnd(map, context, lastTableEnd, currentTable, currentBody) + } + map.consume(context.events) + + // To do: move this into `html`, when events are exposed there. + // That’s what `markdown-rs` does. + // That needs updates to `mdast-util-gfm-table`. + index = -1 + while (++index < context.events.length) { + const event = context.events[index] + if (event[0] === 'enter' && event[1].type === 'table') { + event[1]._align = gfmTableAlign(context.events, index) + } + } + return events +} + +/// Generate a cell. +/** + * + * @param {EditMap} map + * @param {TokenizeContext} context + * @param {Range} range + * @param {RowKind} rowKind + * @param {number | undefined} rowEnd + * @param {Token | undefined} previousCell + * @returns {Token | undefined} + */ +// eslint-disable-next-line max-params +function flushCell(map, context, range, rowKind, rowEnd, previousCell) { + // `markdown-rs` uses: + // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell' + const groupName = + rowKind === 1 + ? 'tableHeader' + : rowKind === 2 + ? 'tableDelimiter' + : 'tableData' + // `markdown-rs` uses: + // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText' + const valueName = 'tableContent' + + // Insert an exit for the previous cell, if there is one. + // + // ```markdown + // > | | aa | bb | cc | + // ^-- exit + // ^^^^-- this cell + // ``` + if (range[0] !== 0) { + previousCell.end = Object.assign({}, getPoint(context.events, range[0])) + map.add(range[0], 0, [['exit', previousCell, context]]) + } + + // Insert enter of this cell. + // + // ```markdown + // > | | aa | bb | cc | + // ^-- enter + // ^^^^-- this cell + // ``` + const now = getPoint(context.events, range[1]) + previousCell = { + type: groupName, + start: Object.assign({}, now), + // Note: correct end is set later. + end: Object.assign({}, now) + } + map.add(range[1], 0, [['enter', previousCell, context]]) + + // Insert text start at first data start and end at last data end, and + // remove events between. + // + // ```markdown + // > | | aa | bb | cc | + // ^-- enter + // ^-- exit + // ^^^^-- this cell + // ``` + if (range[2] !== 0) { + const relatedStart = getPoint(context.events, range[2]) + const relatedEnd = getPoint(context.events, range[3]) + /** @type {Token} */ + const valueToken = { + type: valueName, + start: Object.assign({}, relatedStart), + end: Object.assign({}, relatedEnd) + } + map.add(range[2], 0, [['enter', valueToken, context]]) + if (rowKind !== 2) { + // Fix positional info on remaining events + const start = context.events[range[2]] + const end = context.events[range[3]] + start[1].end = Object.assign({}, end[1].end) + start[1].type = 'chunkText' + start[1].contentType = 'text' + + // Remove if needed. + if (range[3] > range[2] + 1) { + const a = range[2] + 1 + const b = range[3] - range[2] - 1 + map.add(a, b, []) + } + } + map.add(range[3] + 1, 0, [['exit', valueToken, context]]) + } + + // Insert an exit for the last cell, if at the row end. + // + // ```markdown + // > | | aa | bb | cc | + // ^-- exit + // ^^^^^^-- this cell (the last one contains two “between” parts) + // ``` + if (rowEnd !== undefined) { + previousCell.end = Object.assign({}, getPoint(context.events, rowEnd)) + map.add(rowEnd, 0, [['exit', previousCell, context]]) + previousCell = undefined + } + return previousCell +} + +/** + * Generate table end (and table body end). + * + * @param {EditMap} map + * @param {TokenizeContext} context + * @param {number} index + * @param {Token} table + * @param {Token | undefined} tableBody + */ +// eslint-disable-next-line max-params +function flushTableEnd(map, context, index, table, tableBody) { + /** @type {Array} */ + const exits = [] + const related = getPoint(context.events, index) + if (tableBody) { + tableBody.end = Object.assign({}, related) + exits.push(['exit', tableBody, context]) + } + table.end = Object.assign({}, related) + exits.push(['exit', table, context]) + map.add(index + 1, 0, exits) +} + +/** + * @param {Array} events + * @param {number} index + * @returns {readonly Point} + */ +function getPoint(events, index) { + const event = events[index] + const side = event[0] === 'enter' ? 'start' : 'end' + return event[1][side] +} diff --git a/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space b/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space new file mode 120000 index 0000000000..b87e43ff0e --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../.nitro/micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character b/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character new file mode 120000 index 0000000000..d801a1e183 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../.nitro/micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-table/package.json b/.output/server/node_modules/micromark-extension-gfm-table/package.json new file mode 100644 index 0000000000..17c16d5af8 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-table/package.json @@ -0,0 +1,109 @@ +{ + "name": "micromark-extension-gfm-table", + "version": "1.0.7", + "description": "micromark extension to support GFM tables", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "table", + "row", + "column", + "cell", + "tabular", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-table", + "bugs": "https://github.com/micromark/micromark-extension-gfm-table/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "create-gfm-fixtures": "^1.0.0", + "micromark": "^3.0.0", + "micromark-build": "^1.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage && micromark-build", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "max-depth": "off", + "n/file-extension-in-import": "off", + "unicorn/no-this-assignment": "off" + }, + "overrides": [ + { + "files": [ + "test/**/*.js" + ], + "rules": { + "no-await-in-loop": 0 + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-tagfilter/index.js b/.output/server/node_modules/micromark-extension-gfm-tagfilter/index.js new file mode 100644 index 0000000000..8af9bf7ccc --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-tagfilter/index.js @@ -0,0 +1,46 @@ +/** + * @typedef {import('micromark-util-types').CompileContext} CompileContext + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + * @typedef {import('micromark-util-types').Token} Token + */ + +// An opening or closing tag start, followed by a case-insensitive specific tag name, +// followed by HTML whitespace, a greater than, or a slash. +const reFlow = + /<(\/?)(iframe|noembed|noframes|plaintext|script|style|title|textarea|xmp)(?=[\t\n\f\r />])/gi + +// As HTML (text) parses tags separately (and very strictly), we don’t need to be +// global. +const reText = new RegExp('^' + reFlow.source, 'i') + +/** + * Extension for `micromark` that can be passed in `htmlExtensions`, to + * support GitHub’s weird and useless tagfilter when serializing to HTML. + * + * @type {HtmlExtension} + */ +export const gfmTagfilterHtml = { + exit: { + htmlFlowData(token) { + exitHtmlData.call(this, token, reFlow) + }, + htmlTextData(token) { + exitHtmlData.call(this, token, reText) + } + } +} + +/** + * @this {CompileContext} + * @param {Token} token + * @param {RegExp} filter + */ +function exitHtmlData(token, filter) { + let value = this.sliceSerialize(token) + + if (this.options.allowDangerousHtml) { + value = value.replace(filter, '<$1$2') + } + + this.raw(this.encode(value)) +} diff --git a/.output/server/node_modules/micromark-extension-gfm-tagfilter/package.json b/.output/server/node_modules/micromark-extension-gfm-tagfilter/package.json new file mode 100644 index 0000000000..952e9d0ac7 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-tagfilter/package.json @@ -0,0 +1,80 @@ +{ + "name": "micromark-extension-gfm-tagfilter", + "version": "1.0.2", + "description": "micromark extension to support GFM tagfilter", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "tagfilter", + "tag", + "filter", + "dangerous", + "html", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-tagfilter", + "bugs": "https://github.com/micromark/micromark-extension-gfm-tagfilter/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "micromark": "^3.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test/index.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/index.js b/.output/server/node_modules/micromark-extension-gfm-task-list-item/index.js new file mode 100644 index 0000000000..2e18f6c1f8 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/index.js @@ -0,0 +1,2 @@ +export {gfmTaskListItemHtml} from './lib/html.js' +export {gfmTaskListItem} from './lib/syntax.js' diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/html.js b/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/html.js new file mode 100644 index 0000000000..801f2e3da5 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/html.js @@ -0,0 +1,27 @@ +/** + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + */ + +// To do: next major: expose function to make extension. + +/** + * Extension for `micromark` that can be passed in `htmlExtensions` to + * support GFM task list items when serializing to HTML. + * + * @type {HtmlExtension} + */ +export const gfmTaskListItemHtml = { + enter: { + taskListCheck() { + this.tag('') + }, + taskListCheckValueChecked() { + this.tag('checked="" ') + } + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js b/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js new file mode 100644 index 0000000000..efcc30bcb1 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js @@ -0,0 +1,167 @@ +/** + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').State} State + * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext + * @typedef {import('micromark-util-types').Tokenizer} Tokenizer + */ + +import {factorySpace} from 'micromark-factory-space' +import { + markdownLineEndingOrSpace, + markdownLineEnding, + markdownSpace +} from 'micromark-util-character' +const tasklistCheck = { + tokenize: tokenizeTasklistCheck +} + +// To do: next major: expose function to make extension. + +/** + * Extension for `micromark` that can be passed in `extensions`, to + * enable GFM task list items syntax. + * + * @type {Extension} + */ +export const gfmTaskListItem = { + text: { + [91]: tasklistCheck + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function tokenizeTasklistCheck(effects, ok, nok) { + const self = this + return open + + /** + * At start of task list item check. + * + * ```markdown + * > | * [x] y. + * ^ + * ``` + * + * @type {State} + */ + function open(code) { + if ( + // Exit if there’s stuff before. + self.previous !== null || + // Exit if not in the first content that is the first child of a list + // item. + !self._gfmTasklistFirstContentOfListItem + ) { + return nok(code) + } + effects.enter('taskListCheck') + effects.enter('taskListCheckMarker') + effects.consume(code) + effects.exit('taskListCheckMarker') + return inside + } + + /** + * In task list item check. + * + * ```markdown + * > | * [x] y. + * ^ + * ``` + * + * @type {State} + */ + function inside(code) { + // Currently we match how GH works in files. + // To match how GH works in comments, use `markdownSpace` (`[\t ]`) instead + // of `markdownLineEndingOrSpace` (`[\t\n\r ]`). + if (markdownLineEndingOrSpace(code)) { + effects.enter('taskListCheckValueUnchecked') + effects.consume(code) + effects.exit('taskListCheckValueUnchecked') + return close + } + if (code === 88 || code === 120) { + effects.enter('taskListCheckValueChecked') + effects.consume(code) + effects.exit('taskListCheckValueChecked') + return close + } + return nok(code) + } + + /** + * At close of task list item check. + * + * ```markdown + * > | * [x] y. + * ^ + * ``` + * + * @type {State} + */ + function close(code) { + if (code === 93) { + effects.enter('taskListCheckMarker') + effects.consume(code) + effects.exit('taskListCheckMarker') + effects.exit('taskListCheck') + return after + } + return nok(code) + } + + /** + * @type {State} + */ + function after(code) { + // EOL in paragraph means there must be something else after it. + if (markdownLineEnding(code)) { + return ok(code) + } + + // Space or tab? + // Check what comes after. + if (markdownSpace(code)) { + return effects.check( + { + tokenize: spaceThenNonSpace + }, + ok, + nok + )(code) + } + + // EOF, or non-whitespace, both wrong. + return nok(code) + } +} + +/** + * @this {TokenizeContext} + * @type {Tokenizer} + */ +function spaceThenNonSpace(effects, ok, nok) { + return factorySpace(effects, after, 'whitespace') + + /** + * After whitespace, after task list item check. + * + * ```markdown + * > | * [x] y. + * ^ + * ``` + * + * @type {State} + */ + function after(code) { + // EOF means there was nothing, so bad. + // EOL means there’s content after it, so good. + // Impossible to have more spaces. + // Anything else is good. + return code === null ? nok(code) : ok(code) + } +} diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space b/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space new file mode 120000 index 0000000000..b87e43ff0e --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space @@ -0,0 +1 @@ +../../.nitro/micromark-factory-space@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character b/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character new file mode 120000 index 0000000000..d801a1e183 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character @@ -0,0 +1 @@ +../../.nitro/micromark-util-character@1.2.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm-task-list-item/package.json b/.output/server/node_modules/micromark-extension-gfm-task-list-item/package.json new file mode 100644 index 0000000000..25af06c644 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm-task-list-item/package.json @@ -0,0 +1,110 @@ +{ + "name": "micromark-extension-gfm-task-list-item", + "version": "1.0.5", + "description": "micromark extension to support GFM task list items", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "task", + "list", + "item", + "check", + "checkbox", + "todo", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm-task-list-item", + "bugs": "https://github.com/micromark/micromark-extension-gfm-task-list-item/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "dev/", + "lib/", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "control-pictures": "^2.0.0", + "create-gfm-fixtures": "^1.0.0", + "micromark": "^3.0.0", + "micromark-build": "^1.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage && micromark-build", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "n/file-extension-in-import": "off", + "unicorn/no-this-assignment": "off" + }, + "overrides": [ + { + "files": [ + "test/**/*.js" + ], + "rules": { + "no-await-in-loop": 0 + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm/index.js b/.output/server/node_modules/micromark-extension-gfm/index.js new file mode 100644 index 0000000000..8e9d2b5e9e --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm/index.js @@ -0,0 +1,69 @@ +/** + * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions + * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options + * @typedef {import('micromark-util-types').Extension} Extension + * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension + */ + +import { + combineExtensions, + combineHtmlExtensions +} from 'micromark-util-combine-extensions' +import { + gfmAutolinkLiteral, + gfmAutolinkLiteralHtml +} from 'micromark-extension-gfm-autolink-literal' +import {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote' +import { + gfmStrikethrough, + gfmStrikethroughHtml +} from 'micromark-extension-gfm-strikethrough' +import {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table' +import {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter' +import { + gfmTaskListItem, + gfmTaskListItemHtml +} from 'micromark-extension-gfm-task-list-item' + +/** + * Create an extension for `micromark` to enable GFM syntax. + * + * @param {Options | null | undefined} [options] + * Configuration (optional). + * + * Passed to `micromark-extens-gfm-strikethrough`. + * @returns {Extension} + * Extension for `micromark` that can be passed in `extensions` to enable GFM + * syntax. + */ +export function gfm(options) { + return combineExtensions([ + gfmAutolinkLiteral, + gfmFootnote(), + gfmStrikethrough(options), + gfmTable, + gfmTaskListItem + ]) +} + +/** + * Create an extension for `micromark` to support GFM when serializing to HTML. + * + * @param {HtmlOptions | null | undefined} [options] + * Configuration. + * + * Passed to `micromark-extens-gfm-footnote`. + * @returns {HtmlExtension} + * Extension for `micromark` that can be passed in `htmlExtensions` to + * support GFM when serializing to HTML. + */ +export function gfmHtml(options) { + return combineHtmlExtensions([ + gfmAutolinkLiteralHtml, + gfmFootnoteHtml(options), + gfmStrikethroughHtml, + gfmTableHtml, + gfmTagfilterHtml, + gfmTaskListItemHtml + ]) +} diff --git a/.output/server/node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions b/.output/server/node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions new file mode 120000 index 0000000000..00e7161187 --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions @@ -0,0 +1 @@ +../../.nitro/micromark-util-combine-extensions@1.1.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-extension-gfm/package.json b/.output/server/node_modules/micromark-extension-gfm/package.json new file mode 100644 index 0000000000..47895953da --- /dev/null +++ b/.output/server/node_modules/micromark-extension-gfm/package.json @@ -0,0 +1,108 @@ +{ + "name": "micromark-extension-gfm", + "version": "2.0.3", + "description": "micromark extension to support GFM (GitHub Flavored Markdown)", + "license": "MIT", + "keywords": [ + "micromark", + "micromark-extension", + "table", + "strikethrough", + "tasklist", + "autolink", + "footnote", + "tagfilter", + "github", + "gfm", + "markdown", + "unified" + ], + "repository": "micromark/micromark-extension-gfm", + "bugs": "https://github.com/micromark/micromark-extension-gfm/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js" + ], + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^7.0.0", + "create-gfm-fixtures": "^1.0.0", + "hast-util-from-html": "^1.0.0", + "hast-util-select": "^5.0.0", + "hast-util-to-text": "^3.0.0", + "micromark": "^3.0.0", + "prettier": "^2.0.0", + "rehype": "^12.0.0", + "rehype-sort-attributes": "^4.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "undici": "^5.0.0", + "xo": "^0.54.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api-prod": "node --conditions production test/index.js", + "test-api-dev": "node --conditions development test/index.js", + "test-api": "npm run test-api-dev && npm run test-api-prod", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "overrides": [ + { + "files": [ + "{test,script}/**/*.js" + ], + "rules": { + "no-await-in-loop": "off" + } + } + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/micromark-factory-destination b/.output/server/node_modules/micromark-factory-destination new file mode 120000 index 0000000000..e10faec967 --- /dev/null +++ b/.output/server/node_modules/micromark-factory-destination @@ -0,0 +1 @@ +.nitro/micromark-factory-destination@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-factory-label b/.output/server/node_modules/micromark-factory-label new file mode 120000 index 0000000000..ae816cdbf0 --- /dev/null +++ b/.output/server/node_modules/micromark-factory-label @@ -0,0 +1 @@ +.nitro/micromark-factory-label@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-factory-space b/.output/server/node_modules/micromark-factory-space new file mode 120000 index 0000000000..fe43ba5e54 --- /dev/null +++ b/.output/server/node_modules/micromark-factory-space @@ -0,0 +1 @@ +.nitro/micromark-factory-space@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-factory-title b/.output/server/node_modules/micromark-factory-title new file mode 120000 index 0000000000..ef9c5b983a --- /dev/null +++ b/.output/server/node_modules/micromark-factory-title @@ -0,0 +1 @@ +.nitro/micromark-factory-title@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-factory-whitespace b/.output/server/node_modules/micromark-factory-whitespace new file mode 120000 index 0000000000..247d6150f5 --- /dev/null +++ b/.output/server/node_modules/micromark-factory-whitespace @@ -0,0 +1 @@ +.nitro/micromark-factory-whitespace@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-character b/.output/server/node_modules/micromark-util-character new file mode 120000 index 0000000000..28261a9217 --- /dev/null +++ b/.output/server/node_modules/micromark-util-character @@ -0,0 +1 @@ +.nitro/micromark-util-character@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-chunked b/.output/server/node_modules/micromark-util-chunked new file mode 120000 index 0000000000..1a01e3c166 --- /dev/null +++ b/.output/server/node_modules/micromark-util-chunked @@ -0,0 +1 @@ +.nitro/micromark-util-chunked@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-classify-character b/.output/server/node_modules/micromark-util-classify-character new file mode 120000 index 0000000000..423a260770 --- /dev/null +++ b/.output/server/node_modules/micromark-util-classify-character @@ -0,0 +1 @@ +.nitro/micromark-util-classify-character@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-combine-extensions b/.output/server/node_modules/micromark-util-combine-extensions new file mode 120000 index 0000000000..993167bca0 --- /dev/null +++ b/.output/server/node_modules/micromark-util-combine-extensions @@ -0,0 +1 @@ +.nitro/micromark-util-combine-extensions@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-decode-numeric-character-reference b/.output/server/node_modules/micromark-util-decode-numeric-character-reference new file mode 120000 index 0000000000..c3d0ecca39 --- /dev/null +++ b/.output/server/node_modules/micromark-util-decode-numeric-character-reference @@ -0,0 +1 @@ +.nitro/micromark-util-decode-numeric-character-reference@2.0.1 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-decode-string b/.output/server/node_modules/micromark-util-decode-string new file mode 120000 index 0000000000..09b10cf7d9 --- /dev/null +++ b/.output/server/node_modules/micromark-util-decode-string @@ -0,0 +1 @@ +.nitro/micromark-util-decode-string@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-encode b/.output/server/node_modules/micromark-util-encode new file mode 120000 index 0000000000..252ae7fd90 --- /dev/null +++ b/.output/server/node_modules/micromark-util-encode @@ -0,0 +1 @@ +.nitro/micromark-util-encode@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-html-tag-name b/.output/server/node_modules/micromark-util-html-tag-name new file mode 120000 index 0000000000..73aad13e22 --- /dev/null +++ b/.output/server/node_modules/micromark-util-html-tag-name @@ -0,0 +1 @@ +.nitro/micromark-util-html-tag-name@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-normalize-identifier b/.output/server/node_modules/micromark-util-normalize-identifier new file mode 120000 index 0000000000..33c9a77807 --- /dev/null +++ b/.output/server/node_modules/micromark-util-normalize-identifier @@ -0,0 +1 @@ +.nitro/micromark-util-normalize-identifier@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-resolve-all b/.output/server/node_modules/micromark-util-resolve-all new file mode 120000 index 0000000000..dd72a0a95f --- /dev/null +++ b/.output/server/node_modules/micromark-util-resolve-all @@ -0,0 +1 @@ +.nitro/micromark-util-resolve-all@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-sanitize-uri b/.output/server/node_modules/micromark-util-sanitize-uri new file mode 120000 index 0000000000..fad5dc0911 --- /dev/null +++ b/.output/server/node_modules/micromark-util-sanitize-uri @@ -0,0 +1 @@ +.nitro/micromark-util-sanitize-uri@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/micromark-util-subtokenize b/.output/server/node_modules/micromark-util-subtokenize new file mode 120000 index 0000000000..650ea6c593 --- /dev/null +++ b/.output/server/node_modules/micromark-util-subtokenize @@ -0,0 +1 @@ +.nitro/micromark-util-subtokenize@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/nanoid/index.js b/.output/server/node_modules/nanoid/index.js new file mode 100644 index 0000000000..7b2e502e3f --- /dev/null +++ b/.output/server/node_modules/nanoid/index.js @@ -0,0 +1,45 @@ +import { randomFillSync } from 'crypto' +import { urlAlphabet } from './url-alphabet/index.js' +export { urlAlphabet } +const POOL_SIZE_MULTIPLIER = 128 +let pool, poolOffset +let fillPool = bytes => { + if (!pool || pool.length < bytes) { + pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER) + randomFillSync(pool) + poolOffset = 0 + } else if (poolOffset + bytes > pool.length) { + randomFillSync(pool) + poolOffset = 0 + } + poolOffset += bytes +} +export let random = bytes => { + fillPool((bytes -= 0)) + return pool.subarray(poolOffset - bytes, poolOffset) +} +export let customRandom = (alphabet, defaultSize, getRandom) => { + let mask = (2 << (31 - Math.clz32((alphabet.length - 1) | 1))) - 1 + let step = Math.ceil((1.6 * mask * defaultSize) / alphabet.length) + return (size = defaultSize) => { + let id = '' + while (true) { + let bytes = getRandom(step) + let i = step + while (i--) { + id += alphabet[bytes[i] & mask] || '' + if (id.length === size) return id + } + } + } +} +export let customAlphabet = (alphabet, size = 21) => + customRandom(alphabet, size, random) +export let nanoid = (size = 21) => { + fillPool((size -= 0)) + let id = '' + for (let i = poolOffset - size; i < poolOffset; i++) { + id += urlAlphabet[pool[i] & 63] + } + return id +} diff --git a/.output/server/node_modules/nanoid/package.json b/.output/server/node_modules/nanoid/package.json new file mode 100644 index 0000000000..1933d6741f --- /dev/null +++ b/.output/server/node_modules/nanoid/package.json @@ -0,0 +1,46 @@ +{ + "name": "nanoid", + "version": "4.0.2", + "description": "A tiny (116 bytes), secure URL-friendly unique string ID generator", + "keywords": [ + "uuid", + "random", + "id", + "url" + ], + "type": "module", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "author": "Andrey Sitnik ", + "license": "MIT", + "repository": "ai/nanoid", + "exports": { + ".": { + "browser": "./index.browser.js", + "default": "./index.js" + }, + "./async": { + "browser": "./async/index.browser.js", + "default": "./async/index.js" + }, + "./non-secure": "./non-secure/index.js", + "./package.json": "./package.json" + }, + "browser": { + "./index.js": "./index.browser.js", + "./async/index.js": "./async/index.browser.js" + }, + "react-native": { + "./async/index.js": "./async/index.native.js" + }, + "bin": "./bin/nanoid.js", + "sideEffects": false, + "types": "./index.d.ts" +} \ No newline at end of file diff --git a/.output/server/node_modules/nanoid/url-alphabet/index.js b/.output/server/node_modules/nanoid/url-alphabet/index.js new file mode 100644 index 0000000000..cfec9b2c3d --- /dev/null +++ b/.output/server/node_modules/nanoid/url-alphabet/index.js @@ -0,0 +1,2 @@ +export const urlAlphabet = + 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' diff --git a/.output/server/node_modules/node-emoji/lib/index.js b/.output/server/node_modules/node-emoji/lib/index.js new file mode 100644 index 0000000000..be3c3840c4 --- /dev/null +++ b/.output/server/node_modules/node-emoji/lib/index.js @@ -0,0 +1,167 @@ +// src/emojify.ts +import { assert as assert2, default as is } from "@sindresorhus/is"; + +// src/findByName.ts +import { assert } from "@sindresorhus/is"; + +// src/data.ts +import emojilib from "emojilib"; + +// src/utils.ts +import charRegex from "char-regex"; +var charRegexMatcher = charRegex(); +function asFunction(input) { + return typeof input === "function" ? input : () => input; +} +var NON_SPACING_MARK = String.fromCharCode(65039); +var nonSpacingRegex = new RegExp(NON_SPACING_MARK, "g"); +function normalizeCode(code) { + return code.replace(nonSpacingRegex, ""); +} +function normalizeName(name) { + return /:.+:/.test(name) ? name.slice(1, -1) : name; +} +function randomItem(array) { + return array[Math.floor(Math.random() * array.length)]; +} + +// src/data.ts +var emojiData = Object.entries(emojilib.lib).map( + ([name, { char: emoji }]) => [name, emoji] +); +var emojiCodesByName = new Map(emojiData); +var emojiNamesByCode = new Map( + emojiData.map(([name, emoji]) => [normalizeCode(emoji), name]) +); + +// src/findByName.ts +var findByName = (name) => { + assert.string(name); + const nameNormalized = normalizeName(name); + const emoji = emojiCodesByName.get(nameNormalized); + return emoji ? { emoji, key: nameNormalized } : void 0; +}; + +// src/emojify.ts +var emojify = (input, { fallback, format = (name) => name } = {}) => { + const fallbackFunction = fallback === void 0 ? fallback : asFunction(fallback); + assert2.string(input); + assert2.any([is.undefined, is.function_], fallbackFunction); + assert2.function_(format); + return input.replace(/:([a-zA-Z0-9_\-+]+):/g, (part) => { + const found = findByName(part); + if (found) { + return format(found.emoji, part, input); + } + if (fallbackFunction) { + return format(fallbackFunction(normalizeName(part))); + } + return format(part); + }); +}; + +// src/findByCode.ts +import { assert as assert3 } from "@sindresorhus/is"; +var findByCode = (code) => { + assert3.string(code); + const emojiNormalized = normalizeCode(code); + const key = emojiNamesByCode.get(emojiNormalized); + return key ? { emoji: emojiNormalized, key } : void 0; +}; + +// src/find.ts +var find = (codeOrName) => { + return findByCode(codeOrName) || findByName(codeOrName); +}; + +// src/get.ts +import { assert as assert4 } from "@sindresorhus/is"; +var get = (codeOrName) => { + assert4.string(codeOrName); + return emojiCodesByName.get(normalizeName(codeOrName)); +}; + +// src/has.ts +import { assert as assert5 } from "@sindresorhus/is"; +var has = (codeOrName) => { + assert5.string(codeOrName); + return emojiCodesByName.has(normalizeName(codeOrName)) || emojiNamesByCode.has(normalizeCode(codeOrName)); +}; + +// src/random.ts +var random = () => { + const [name, emoji] = randomItem(emojiData); + return { name, emoji }; +}; + +// src/replace.ts +import { assert as assert6 } from "@sindresorhus/is"; +var replace = (input, replacement, { preserveSpaces = false } = {}) => { + const replace2 = asFunction(replacement); + assert6.string(input); + assert6.function_(replace2); + assert6.boolean(preserveSpaces); + const characters = input.match(charRegexMatcher); + if (characters === null) { + return input; + } + return characters.map((character, index) => { + const found = findByCode(character); + if (!found) { + return character; + } + if (!preserveSpaces && characters[index + 1] === " ") { + characters[index + 1] = ""; + } + return replace2(found, index, input); + }).join(""); +}; + +// src/search.ts +import { assert as assert7 } from "@sindresorhus/is"; +var search = (keyword) => { + assert7.string(keyword); + keyword = normalizeName(keyword); + return emojiData.filter(([name]) => name.includes(keyword)).map(([name, emoji]) => ({ name, emoji })); +}; + +// src/strip.ts +var strip = (input, { preserveSpaces } = {}) => replace(input, "", { preserveSpaces }); + +// src/unemojify.ts +import { assert as assert9 } from "@sindresorhus/is"; + +// src/which.ts +import { assert as assert8 } from "@sindresorhus/is"; +import skinTone from "skin-tone"; +var which = (emoji, { markdown = false } = {}) => { + assert8.string(emoji); + assert8.boolean(markdown); + const result = findByCode(skinTone(emoji, "none")); + if (result === void 0) { + return void 0; + } + return markdown ? `:${result.key}:` : result.key; +}; + +// src/unemojify.ts +var unemojify = (input) => { + assert9.string(input); + const characters = input.match(charRegexMatcher); + if (characters === null) { + return input; + } + return characters.map((character) => which(character, { markdown: true }) || character).join(""); +}; +export { + emojify, + find, + get, + has, + random, + replace, + search, + strip, + unemojify, + which +}; diff --git a/.output/server/node_modules/node-emoji/package.json b/.output/server/node_modules/node-emoji/package.json new file mode 100644 index 0000000000..5bd6431ded --- /dev/null +++ b/.output/server/node_modules/node-emoji/package.json @@ -0,0 +1,56 @@ +{ + "name": "node-emoji", + "version": "2.1.0", + "description": "Friendly emoji lookups and parsing utilities for Node.js", + "author": "Daniel Bugl ", + "repository": { + "type": "git", + "url": "https://github.com/omnidan/node-emoji.git" + }, + "keywords": [ + "emoji", + "simple", + "emoticons", + "emoticon", + "emojis", + "smiley", + "smileys", + "smilies", + "ideogram", + "ideograms" + ], + "bugs": { + "url": "https://github.com/omnidan/node-emoji/issues" + }, + "dependencies": { + "@sindresorhus/is": "^3.1.2", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "devDependencies": { + "@swc/core": "^1.3.58", + "@swc/jest": "^0.2.26", + "cross-env": "^7.0.3", + "jest": "^29.5.0", + "tsup": "^6.7.0", + "typescript": "^5.0.4" + }, + "scripts": { + "build": "tsup ./src/index.ts --format esm,cjs --out-dir lib --dts", + "compile": "tsc", + "coverage": "npm run test -- --coverage", + "prepublishOnly": "npm run coverage", + "test": "cross-env NODE_OPTIONS=--experimental-vm-modules npx jest" + }, + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./lib/index.cjs" + } + }, + "types": "./lib/index.d.ts", + "main": "./lib/index.js", + "license": "MIT", + "type": "module" +} \ No newline at end of file diff --git a/.output/server/node_modules/parse-entities/index.js b/.output/server/node_modules/parse-entities/index.js new file mode 100644 index 0000000000..60157967c0 --- /dev/null +++ b/.output/server/node_modules/parse-entities/index.js @@ -0,0 +1,3 @@ +// Note: more types exposed from `index.d.ts`. +// To do: refactor to include type parameters in JS. +export {parseEntities} from './lib/index.js' diff --git a/.output/server/node_modules/parse-entities/lib/index.js b/.output/server/node_modules/parse-entities/lib/index.js new file mode 100644 index 0000000000..47d94ae05d --- /dev/null +++ b/.output/server/node_modules/parse-entities/lib/index.js @@ -0,0 +1,406 @@ +/** + * @typedef {import('unist').Point} Point + * @typedef {import('unist').Position} Position + */ + +import {characterEntitiesLegacy} from 'character-entities-legacy' +import {characterReferenceInvalid} from 'character-reference-invalid' +import {isDecimal} from 'is-decimal' +import {isHexadecimal} from 'is-hexadecimal' +import {isAlphanumerical} from 'is-alphanumerical' +import {decodeNamedCharacterReference} from 'decode-named-character-reference' + +const fromCharCode = String.fromCharCode + +// Warning messages. +const messages = [ + '', + /* 1: Non terminated (named) */ + 'Named character references must be terminated by a semicolon', + /* 2: Non terminated (numeric) */ + 'Numeric character references must be terminated by a semicolon', + /* 3: Empty (named) */ + 'Named character references cannot be empty', + /* 4: Empty (numeric) */ + 'Numeric character references cannot be empty', + /* 5: Unknown (named) */ + 'Named character references must be known', + /* 6: Disallowed (numeric) */ + 'Numeric character references cannot be disallowed', + /* 7: Prohibited (numeric) */ + 'Numeric character references cannot be outside the permissible Unicode range' +] + +/** + * Parse HTML character references. + * + * @param {string} value + * @param {import('../index.js').Options} [options={}] + */ +export function parseEntities(value, options = {}) { + const additional = + typeof options.additional === 'string' + ? options.additional.charCodeAt(0) + : options.additional + /** @type {Array} */ + const result = [] + let index = 0 + let lines = -1 + let queue = '' + /** @type {Point|undefined} */ + let point + /** @type {Array|undefined} */ + let indent + + if (options.position) { + if ('start' in options.position || 'indent' in options.position) { + // @ts-expect-error: points don’t have indent. + indent = options.position.indent + // @ts-expect-error: points don’t have indent. + point = options.position.start + } else { + point = options.position + } + } + + let line = (point ? point.line : 0) || 1 + let column = (point ? point.column : 0) || 1 + + // Cache the current point. + let previous = now() + /** @type {number|undefined} */ + let character + + // Ensure the algorithm walks over the first character (inclusive). + index-- + + while (++index <= value.length) { + // If the previous character was a newline. + if (character === 10 /* `\n` */) { + column = (indent ? indent[lines] : 0) || 1 + } + + character = value.charCodeAt(index) + + if (character === 38 /* `&` */) { + const following = value.charCodeAt(index + 1) + + // The behavior depends on the identity of the next character. + if ( + following === 9 /* `\t` */ || + following === 10 /* `\n` */ || + following === 12 /* `\f` */ || + following === 32 /* ` ` */ || + following === 38 /* `&` */ || + following === 60 /* `<` */ || + Number.isNaN(following) || + (additional && following === additional) + ) { + // Not a character reference. + // No characters are consumed, and nothing is returned. + // This is not an error, either. + queue += fromCharCode(character) + column++ + continue + } + + const start = index + 1 + let begin = start + let end = start + /** @type {string} */ + let type + + if (following === 35 /* `#` */) { + // Numerical reference. + end = ++begin + + // The behavior further depends on the next character. + const following = value.charCodeAt(end) + + if (following === 88 /* `X` */ || following === 120 /* `x` */) { + // ASCII hexadecimal digits. + type = 'hexadecimal' + end = ++begin + } else { + // ASCII decimal digits. + type = 'decimal' + } + } else { + // Named reference. + type = 'named' + } + + let characterReferenceCharacters = '' + let characterReference = '' + let characters = '' + // Each type of character reference accepts different characters. + // This test is used to detect whether a reference has ended (as the semicolon + // is not strictly needed). + const test = + type === 'named' + ? isAlphanumerical + : type === 'decimal' + ? isDecimal + : isHexadecimal + + end-- + + while (++end <= value.length) { + const following = value.charCodeAt(end) + + if (!test(following)) { + break + } + + characters += fromCharCode(following) + + // Check if we can match a legacy named reference. + // If so, we cache that as the last viable named reference. + // This ensures we do not need to walk backwards later. + if (type === 'named' && characterEntitiesLegacy.includes(characters)) { + characterReferenceCharacters = characters + // @ts-expect-error: always able to decode. + characterReference = decodeNamedCharacterReference(characters) + } + } + + let terminated = value.charCodeAt(end) === 59 /* `;` */ + + if (terminated) { + end++ + + const namedReference = + type === 'named' ? decodeNamedCharacterReference(characters) : false + + if (namedReference) { + characterReferenceCharacters = characters + characterReference = namedReference + } + } + + let diff = 1 + end - start + let reference = '' + + if (!terminated && options.nonTerminated === false) { + // Empty. + } else if (!characters) { + // An empty (possible) reference is valid, unless it’s numeric (thus an + // ampersand followed by an octothorp). + if (type !== 'named') { + warning(4 /* Empty (numeric) */, diff) + } + } else if (type === 'named') { + // An ampersand followed by anything unknown, and not terminated, is + // invalid. + if (terminated && !characterReference) { + warning(5 /* Unknown (named) */, 1) + } else { + // If there’s something after an named reference which is not known, + // cap the reference. + if (characterReferenceCharacters !== characters) { + end = begin + characterReferenceCharacters.length + diff = 1 + end - begin + terminated = false + } + + // If the reference is not terminated, warn. + if (!terminated) { + const reason = characterReferenceCharacters + ? 1 /* Non terminated (named) */ + : 3 /* Empty (named) */ + + if (options.attribute) { + const following = value.charCodeAt(end) + + if (following === 61 /* `=` */) { + warning(reason, diff) + characterReference = '' + } else if (isAlphanumerical(following)) { + characterReference = '' + } else { + warning(reason, diff) + } + } else { + warning(reason, diff) + } + } + } + + reference = characterReference + } else { + if (!terminated) { + // All nonterminated numeric references are not rendered, and emit a + // warning. + warning(2 /* Non terminated (numeric) */, diff) + } + + // When terminated and numerical, parse as either hexadecimal or + // decimal. + let referenceCode = Number.parseInt( + characters, + type === 'hexadecimal' ? 16 : 10 + ) + + // Emit a warning when the parsed number is prohibited, and replace with + // replacement character. + if (prohibited(referenceCode)) { + warning(7 /* Prohibited (numeric) */, diff) + reference = fromCharCode(65533 /* `�` */) + } else if (referenceCode in characterReferenceInvalid) { + // Emit a warning when the parsed number is disallowed, and replace by + // an alternative. + warning(6 /* Disallowed (numeric) */, diff) + reference = characterReferenceInvalid[referenceCode] + } else { + // Parse the number. + let output = '' + + // Emit a warning when the parsed number should not be used. + if (disallowed(referenceCode)) { + warning(6 /* Disallowed (numeric) */, diff) + } + + // Serialize the number. + if (referenceCode > 0xffff) { + referenceCode -= 0x10000 + output += fromCharCode((referenceCode >>> (10 & 0x3ff)) | 0xd800) + referenceCode = 0xdc00 | (referenceCode & 0x3ff) + } + + reference = output + fromCharCode(referenceCode) + } + } + + // Found it! + // First eat the queued characters as normal text, then eat a reference. + if (reference) { + flush() + + previous = now() + index = end - 1 + column += end - start + 1 + result.push(reference) + const next = now() + next.offset++ + + if (options.reference) { + options.reference.call( + options.referenceContext, + reference, + {start: previous, end: next}, + value.slice(start - 1, end) + ) + } + + previous = next + } else { + // If we could not find a reference, queue the checked characters (as + // normal characters), and move the pointer to their end. + // This is possible because we can be certain neither newlines nor + // ampersands are included. + characters = value.slice(start - 1, end) + queue += characters + column += characters.length + index = end - 1 + } + } else { + // Handle anything other than an ampersand, including newlines and EOF. + if (character === 10 /* `\n` */) { + line++ + lines++ + column = 0 + } + + if (Number.isNaN(character)) { + flush() + } else { + queue += fromCharCode(character) + column++ + } + } + } + + // Return the reduced nodes. + return result.join('') + + // Get current position. + function now() { + return { + line, + column, + offset: index + ((point ? point.offset : 0) || 0) + } + } + + /** + * Handle the warning. + * + * @param {1|2|3|4|5|6|7} code + * @param {number} offset + */ + function warning(code, offset) { + /** @type {ReturnType} */ + let position + + if (options.warning) { + position = now() + position.column += offset + position.offset += offset + + options.warning.call( + options.warningContext, + messages[code], + position, + code + ) + } + } + + /** + * Flush `queue` (normal text). + * Macro invoked before each reference and at the end of `value`. + * Does nothing when `queue` is empty. + */ + function flush() { + if (queue) { + result.push(queue) + + if (options.text) { + options.text.call(options.textContext, queue, { + start: previous, + end: now() + }) + } + + queue = '' + } + } +} + +/** + * Check if `character` is outside the permissible unicode range. + * + * @param {number} code + * @returns {boolean} + */ +function prohibited(code) { + return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff +} + +/** + * Check if `character` is disallowed. + * + * @param {number} code + * @returns {boolean} + */ +function disallowed(code) { + return ( + (code >= 0x0001 && code <= 0x0008) || + code === 0x000b || + (code >= 0x000d && code <= 0x001f) || + (code >= 0x007f && code <= 0x009f) || + (code >= 0xfdd0 && code <= 0xfdef) || + (code & 0xffff) === 0xffff || + (code & 0xffff) === 0xfffe + ) +} diff --git a/.output/server/node_modules/parse-entities/package.json b/.output/server/node_modules/parse-entities/package.json new file mode 100644 index 0000000000..aac1880583 --- /dev/null +++ b/.output/server/node_modules/parse-entities/package.json @@ -0,0 +1,90 @@ +{ + "name": "parse-entities", + "version": "4.0.1", + "description": "Parse HTML character references", + "license": "MIT", + "keywords": [ + "parse", + "html", + "character", + "reference", + "entity", + "entities" + ], + "repository": "wooorm/parse-entities", + "bugs": "https://github.com/wooorm/parse-entities/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "lib/", + "index.js", + "index.d.ts" + ], + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^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" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "c8": "^7.0.0", + "prettier": "^2.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^4.0.0", + "xo": "^0.53.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "rules": { + "complexity": "off", + "max-depth": "off", + "no-bitwise": "off", + "unicorn/numeric-separators-style": "off", + "unicorn/prefer-code-point": "off" + } + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/parse5/lib/common/doctype.js b/.output/server/node_modules/parse5/lib/common/doctype.js new file mode 100644 index 0000000000..e9dfb67d1c --- /dev/null +++ b/.output/server/node_modules/parse5/lib/common/doctype.js @@ -0,0 +1,162 @@ +'use strict'; + +const { DOCUMENT_MODE } = require('./html'); + +//Const +const VALID_DOCTYPE_NAME = 'html'; +const VALID_SYSTEM_ID = 'about:legacy-compat'; +const QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd'; + +const QUIRKS_MODE_PUBLIC_ID_PREFIXES = [ + '+//silmaril//dtd html pro v0r11 19970101//', + '-//as//dtd html 3.0 aswedit + extensions//', + '-//advasoft ltd//dtd html 3.0 aswedit + extensions//', + '-//ietf//dtd html 2.0 level 1//', + '-//ietf//dtd html 2.0 level 2//', + '-//ietf//dtd html 2.0 strict level 1//', + '-//ietf//dtd html 2.0 strict level 2//', + '-//ietf//dtd html 2.0 strict//', + '-//ietf//dtd html 2.0//', + '-//ietf//dtd html 2.1e//', + '-//ietf//dtd html 3.0//', + '-//ietf//dtd html 3.2 final//', + '-//ietf//dtd html 3.2//', + '-//ietf//dtd html 3//', + '-//ietf//dtd html level 0//', + '-//ietf//dtd html level 1//', + '-//ietf//dtd html level 2//', + '-//ietf//dtd html level 3//', + '-//ietf//dtd html strict level 0//', + '-//ietf//dtd html strict level 1//', + '-//ietf//dtd html strict level 2//', + '-//ietf//dtd html strict level 3//', + '-//ietf//dtd html strict//', + '-//ietf//dtd html//', + '-//metrius//dtd metrius presentational//', + '-//microsoft//dtd internet explorer 2.0 html strict//', + '-//microsoft//dtd internet explorer 2.0 html//', + '-//microsoft//dtd internet explorer 2.0 tables//', + '-//microsoft//dtd internet explorer 3.0 html strict//', + '-//microsoft//dtd internet explorer 3.0 html//', + '-//microsoft//dtd internet explorer 3.0 tables//', + '-//netscape comm. corp.//dtd html//', + '-//netscape comm. corp.//dtd strict html//', + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + '-//sq//dtd html 2.0 hotmetal + extensions//', + '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//', + '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//', + '-//spyglass//dtd html 2.0 extended//', + '-//sun microsystems corp.//dtd hotjava html//', + '-//sun microsystems corp.//dtd hotjava strict html//', + '-//w3c//dtd html 3 1995-03-24//', + '-//w3c//dtd html 3.2 draft//', + '-//w3c//dtd html 3.2 final//', + '-//w3c//dtd html 3.2//', + '-//w3c//dtd html 3.2s draft//', + '-//w3c//dtd html 4.0 frameset//', + '-//w3c//dtd html 4.0 transitional//', + '-//w3c//dtd html experimental 19960712//', + '-//w3c//dtd html experimental 970421//', + '-//w3c//dtd w3 html//', + '-//w3o//dtd w3 html 3.0//', + '-//webtechs//dtd mozilla html 2.0//', + '-//webtechs//dtd mozilla html//' +]; + +const QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat([ + '-//w3c//dtd html 4.01 frameset//', + '-//w3c//dtd html 4.01 transitional//' +]); + +const QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html']; +const LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//']; + +const LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat([ + '-//w3c//dtd html 4.01 frameset//', + '-//w3c//dtd html 4.01 transitional//' +]); + +//Utils +function enquoteDoctypeId(id) { + const quote = id.indexOf('"') !== -1 ? "'" : '"'; + + return quote + id + quote; +} + +function hasPrefix(publicId, prefixes) { + for (let i = 0; i < prefixes.length; i++) { + if (publicId.indexOf(prefixes[i]) === 0) { + return true; + } + } + + return false; +} + +//API +exports.isConforming = function(token) { + return ( + token.name === VALID_DOCTYPE_NAME && + token.publicId === null && + (token.systemId === null || token.systemId === VALID_SYSTEM_ID) + ); +}; + +exports.getDocumentMode = function(token) { + if (token.name !== VALID_DOCTYPE_NAME) { + return DOCUMENT_MODE.QUIRKS; + } + + const systemId = token.systemId; + + if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) { + return DOCUMENT_MODE.QUIRKS; + } + + let publicId = token.publicId; + + if (publicId !== null) { + publicId = publicId.toLowerCase(); + + if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) { + return DOCUMENT_MODE.QUIRKS; + } + + let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES; + + if (hasPrefix(publicId, prefixes)) { + return DOCUMENT_MODE.QUIRKS; + } + + prefixes = + systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES; + + if (hasPrefix(publicId, prefixes)) { + return DOCUMENT_MODE.LIMITED_QUIRKS; + } + } + + return DOCUMENT_MODE.NO_QUIRKS; +}; + +exports.serializeContent = function(name, publicId, systemId) { + let str = '!DOCTYPE '; + + if (name) { + str += name; + } + + if (publicId) { + str += ' PUBLIC ' + enquoteDoctypeId(publicId); + } else if (systemId) { + str += ' SYSTEM'; + } + + if (systemId !== null) { + str += ' ' + enquoteDoctypeId(systemId); + } + + return str; +}; diff --git a/.output/server/node_modules/parse5/lib/common/error-codes.js b/.output/server/node_modules/parse5/lib/common/error-codes.js new file mode 100644 index 0000000000..25f3cfdd62 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/common/error-codes.js @@ -0,0 +1,65 @@ +'use strict'; + +module.exports = { + controlCharacterInInputStream: 'control-character-in-input-stream', + noncharacterInInputStream: 'noncharacter-in-input-stream', + surrogateInInputStream: 'surrogate-in-input-stream', + nonVoidHtmlElementStartTagWithTrailingSolidus: 'non-void-html-element-start-tag-with-trailing-solidus', + endTagWithAttributes: 'end-tag-with-attributes', + endTagWithTrailingSolidus: 'end-tag-with-trailing-solidus', + unexpectedSolidusInTag: 'unexpected-solidus-in-tag', + unexpectedNullCharacter: 'unexpected-null-character', + unexpectedQuestionMarkInsteadOfTagName: 'unexpected-question-mark-instead-of-tag-name', + invalidFirstCharacterOfTagName: 'invalid-first-character-of-tag-name', + unexpectedEqualsSignBeforeAttributeName: 'unexpected-equals-sign-before-attribute-name', + missingEndTagName: 'missing-end-tag-name', + unexpectedCharacterInAttributeName: 'unexpected-character-in-attribute-name', + unknownNamedCharacterReference: 'unknown-named-character-reference', + missingSemicolonAfterCharacterReference: 'missing-semicolon-after-character-reference', + unexpectedCharacterAfterDoctypeSystemIdentifier: 'unexpected-character-after-doctype-system-identifier', + unexpectedCharacterInUnquotedAttributeValue: 'unexpected-character-in-unquoted-attribute-value', + eofBeforeTagName: 'eof-before-tag-name', + eofInTag: 'eof-in-tag', + missingAttributeValue: 'missing-attribute-value', + missingWhitespaceBetweenAttributes: 'missing-whitespace-between-attributes', + missingWhitespaceAfterDoctypePublicKeyword: 'missing-whitespace-after-doctype-public-keyword', + missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers: + 'missing-whitespace-between-doctype-public-and-system-identifiers', + missingWhitespaceAfterDoctypeSystemKeyword: 'missing-whitespace-after-doctype-system-keyword', + missingQuoteBeforeDoctypePublicIdentifier: 'missing-quote-before-doctype-public-identifier', + missingQuoteBeforeDoctypeSystemIdentifier: 'missing-quote-before-doctype-system-identifier', + missingDoctypePublicIdentifier: 'missing-doctype-public-identifier', + missingDoctypeSystemIdentifier: 'missing-doctype-system-identifier', + abruptDoctypePublicIdentifier: 'abrupt-doctype-public-identifier', + abruptDoctypeSystemIdentifier: 'abrupt-doctype-system-identifier', + cdataInHtmlContent: 'cdata-in-html-content', + incorrectlyOpenedComment: 'incorrectly-opened-comment', + eofInScriptHtmlCommentLikeText: 'eof-in-script-html-comment-like-text', + eofInDoctype: 'eof-in-doctype', + nestedComment: 'nested-comment', + abruptClosingOfEmptyComment: 'abrupt-closing-of-empty-comment', + eofInComment: 'eof-in-comment', + incorrectlyClosedComment: 'incorrectly-closed-comment', + eofInCdata: 'eof-in-cdata', + absenceOfDigitsInNumericCharacterReference: 'absence-of-digits-in-numeric-character-reference', + nullCharacterReference: 'null-character-reference', + surrogateCharacterReference: 'surrogate-character-reference', + characterReferenceOutsideUnicodeRange: 'character-reference-outside-unicode-range', + controlCharacterReference: 'control-character-reference', + noncharacterCharacterReference: 'noncharacter-character-reference', + missingWhitespaceBeforeDoctypeName: 'missing-whitespace-before-doctype-name', + missingDoctypeName: 'missing-doctype-name', + invalidCharacterSequenceAfterDoctypeName: 'invalid-character-sequence-after-doctype-name', + duplicateAttribute: 'duplicate-attribute', + nonConformingDoctype: 'non-conforming-doctype', + missingDoctype: 'missing-doctype', + misplacedDoctype: 'misplaced-doctype', + endTagWithoutMatchingOpenElement: 'end-tag-without-matching-open-element', + closingOfElementWithOpenChildElements: 'closing-of-element-with-open-child-elements', + disallowedContentInNoscriptInHead: 'disallowed-content-in-noscript-in-head', + openElementsLeftAfterEof: 'open-elements-left-after-eof', + abandonedHeadElementChild: 'abandoned-head-element-child', + misplacedStartTagForHeadElement: 'misplaced-start-tag-for-head-element', + nestedNoscriptInHead: 'nested-noscript-in-head', + eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text' +}; diff --git a/.output/server/node_modules/parse5/lib/common/foreign-content.js b/.output/server/node_modules/parse5/lib/common/foreign-content.js new file mode 100644 index 0000000000..10f008b868 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/common/foreign-content.js @@ -0,0 +1,265 @@ +'use strict'; + +const Tokenizer = require('../tokenizer'); +const HTML = require('./html'); + +//Aliases +const $ = HTML.TAG_NAMES; +const NS = HTML.NAMESPACES; +const ATTRS = HTML.ATTRS; + +//MIME types +const MIME_TYPES = { + TEXT_HTML: 'text/html', + APPLICATION_XML: 'application/xhtml+xml' +}; + +//Attributes +const DEFINITION_URL_ATTR = 'definitionurl'; +const ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL'; +const SVG_ATTRS_ADJUSTMENT_MAP = { + attributename: 'attributeName', + attributetype: 'attributeType', + basefrequency: 'baseFrequency', + baseprofile: 'baseProfile', + calcmode: 'calcMode', + clippathunits: 'clipPathUnits', + diffuseconstant: 'diffuseConstant', + edgemode: 'edgeMode', + filterunits: 'filterUnits', + glyphref: 'glyphRef', + gradienttransform: 'gradientTransform', + gradientunits: 'gradientUnits', + kernelmatrix: 'kernelMatrix', + kernelunitlength: 'kernelUnitLength', + keypoints: 'keyPoints', + keysplines: 'keySplines', + keytimes: 'keyTimes', + lengthadjust: 'lengthAdjust', + limitingconeangle: 'limitingConeAngle', + markerheight: 'markerHeight', + markerunits: 'markerUnits', + markerwidth: 'markerWidth', + maskcontentunits: 'maskContentUnits', + maskunits: 'maskUnits', + numoctaves: 'numOctaves', + pathlength: 'pathLength', + patterncontentunits: 'patternContentUnits', + patterntransform: 'patternTransform', + patternunits: 'patternUnits', + pointsatx: 'pointsAtX', + pointsaty: 'pointsAtY', + pointsatz: 'pointsAtZ', + preservealpha: 'preserveAlpha', + preserveaspectratio: 'preserveAspectRatio', + primitiveunits: 'primitiveUnits', + refx: 'refX', + refy: 'refY', + repeatcount: 'repeatCount', + repeatdur: 'repeatDur', + requiredextensions: 'requiredExtensions', + requiredfeatures: 'requiredFeatures', + specularconstant: 'specularConstant', + specularexponent: 'specularExponent', + spreadmethod: 'spreadMethod', + startoffset: 'startOffset', + stddeviation: 'stdDeviation', + stitchtiles: 'stitchTiles', + surfacescale: 'surfaceScale', + systemlanguage: 'systemLanguage', + tablevalues: 'tableValues', + targetx: 'targetX', + targety: 'targetY', + textlength: 'textLength', + viewbox: 'viewBox', + viewtarget: 'viewTarget', + xchannelselector: 'xChannelSelector', + ychannelselector: 'yChannelSelector', + zoomandpan: 'zoomAndPan' +}; + +const XML_ATTRS_ADJUSTMENT_MAP = { + 'xlink:actuate': { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK }, + 'xlink:arcrole': { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK }, + 'xlink:href': { prefix: 'xlink', name: 'href', namespace: NS.XLINK }, + 'xlink:role': { prefix: 'xlink', name: 'role', namespace: NS.XLINK }, + 'xlink:show': { prefix: 'xlink', name: 'show', namespace: NS.XLINK }, + 'xlink:title': { prefix: 'xlink', name: 'title', namespace: NS.XLINK }, + 'xlink:type': { prefix: 'xlink', name: 'type', namespace: NS.XLINK }, + 'xml:base': { prefix: 'xml', name: 'base', namespace: NS.XML }, + 'xml:lang': { prefix: 'xml', name: 'lang', namespace: NS.XML }, + 'xml:space': { prefix: 'xml', name: 'space', namespace: NS.XML }, + xmlns: { prefix: '', name: 'xmlns', namespace: NS.XMLNS }, + 'xmlns:xlink': { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS } +}; + +//SVG tag names adjustment map +const SVG_TAG_NAMES_ADJUSTMENT_MAP = (exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = { + altglyph: 'altGlyph', + altglyphdef: 'altGlyphDef', + altglyphitem: 'altGlyphItem', + animatecolor: 'animateColor', + animatemotion: 'animateMotion', + animatetransform: 'animateTransform', + clippath: 'clipPath', + feblend: 'feBlend', + fecolormatrix: 'feColorMatrix', + fecomponenttransfer: 'feComponentTransfer', + fecomposite: 'feComposite', + feconvolvematrix: 'feConvolveMatrix', + fediffuselighting: 'feDiffuseLighting', + fedisplacementmap: 'feDisplacementMap', + fedistantlight: 'feDistantLight', + feflood: 'feFlood', + fefunca: 'feFuncA', + fefuncb: 'feFuncB', + fefuncg: 'feFuncG', + fefuncr: 'feFuncR', + fegaussianblur: 'feGaussianBlur', + feimage: 'feImage', + femerge: 'feMerge', + femergenode: 'feMergeNode', + femorphology: 'feMorphology', + feoffset: 'feOffset', + fepointlight: 'fePointLight', + fespecularlighting: 'feSpecularLighting', + fespotlight: 'feSpotLight', + fetile: 'feTile', + feturbulence: 'feTurbulence', + foreignobject: 'foreignObject', + glyphref: 'glyphRef', + lineargradient: 'linearGradient', + radialgradient: 'radialGradient', + textpath: 'textPath' +}); + +//Tags that causes exit from foreign content +const EXITS_FOREIGN_CONTENT = { + [$.B]: true, + [$.BIG]: true, + [$.BLOCKQUOTE]: true, + [$.BODY]: true, + [$.BR]: true, + [$.CENTER]: true, + [$.CODE]: true, + [$.DD]: true, + [$.DIV]: true, + [$.DL]: true, + [$.DT]: true, + [$.EM]: true, + [$.EMBED]: true, + [$.H1]: true, + [$.H2]: true, + [$.H3]: true, + [$.H4]: true, + [$.H5]: true, + [$.H6]: true, + [$.HEAD]: true, + [$.HR]: true, + [$.I]: true, + [$.IMG]: true, + [$.LI]: true, + [$.LISTING]: true, + [$.MENU]: true, + [$.META]: true, + [$.NOBR]: true, + [$.OL]: true, + [$.P]: true, + [$.PRE]: true, + [$.RUBY]: true, + [$.S]: true, + [$.SMALL]: true, + [$.SPAN]: true, + [$.STRONG]: true, + [$.STRIKE]: true, + [$.SUB]: true, + [$.SUP]: true, + [$.TABLE]: true, + [$.TT]: true, + [$.U]: true, + [$.UL]: true, + [$.VAR]: true +}; + +//Check exit from foreign content +exports.causesExit = function(startTagToken) { + const tn = startTagToken.tagName; + const isFontWithAttrs = + tn === $.FONT && + (Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) !== null || + Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) !== null || + Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE) !== null); + + return isFontWithAttrs ? true : EXITS_FOREIGN_CONTENT[tn]; +}; + +//Token adjustments +exports.adjustTokenMathMLAttrs = function(token) { + for (let i = 0; i < token.attrs.length; i++) { + if (token.attrs[i].name === DEFINITION_URL_ATTR) { + token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR; + break; + } + } +}; + +exports.adjustTokenSVGAttrs = function(token) { + for (let i = 0; i < token.attrs.length; i++) { + const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name]; + + if (adjustedAttrName) { + token.attrs[i].name = adjustedAttrName; + } + } +}; + +exports.adjustTokenXMLAttrs = function(token) { + for (let i = 0; i < token.attrs.length; i++) { + const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name]; + + if (adjustedAttrEntry) { + token.attrs[i].prefix = adjustedAttrEntry.prefix; + token.attrs[i].name = adjustedAttrEntry.name; + token.attrs[i].namespace = adjustedAttrEntry.namespace; + } + } +}; + +exports.adjustTokenSVGTagName = function(token) { + const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName]; + + if (adjustedTagName) { + token.tagName = adjustedTagName; + } +}; + +//Integration points +function isMathMLTextIntegrationPoint(tn, ns) { + return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT); +} + +function isHtmlIntegrationPoint(tn, ns, attrs) { + if (ns === NS.MATHML && tn === $.ANNOTATION_XML) { + for (let i = 0; i < attrs.length; i++) { + if (attrs[i].name === ATTRS.ENCODING) { + const value = attrs[i].value.toLowerCase(); + + return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML; + } + } + } + + return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE); +} + +exports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) { + if ((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) { + return true; + } + + if ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)) { + return true; + } + + return false; +}; diff --git a/.output/server/node_modules/parse5/lib/common/html.js b/.output/server/node_modules/parse5/lib/common/html.js new file mode 100644 index 0000000000..f33646f119 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/common/html.js @@ -0,0 +1,272 @@ +'use strict'; + +const NS = (exports.NAMESPACES = { + HTML: 'http://www.w3.org/1999/xhtml', + MATHML: 'http://www.w3.org/1998/Math/MathML', + SVG: 'http://www.w3.org/2000/svg', + XLINK: 'http://www.w3.org/1999/xlink', + XML: 'http://www.w3.org/XML/1998/namespace', + XMLNS: 'http://www.w3.org/2000/xmlns/' +}); + +exports.ATTRS = { + TYPE: 'type', + ACTION: 'action', + ENCODING: 'encoding', + PROMPT: 'prompt', + NAME: 'name', + COLOR: 'color', + FACE: 'face', + SIZE: 'size' +}; + +exports.DOCUMENT_MODE = { + NO_QUIRKS: 'no-quirks', + QUIRKS: 'quirks', + LIMITED_QUIRKS: 'limited-quirks' +}; + +const $ = (exports.TAG_NAMES = { + A: 'a', + ADDRESS: 'address', + ANNOTATION_XML: 'annotation-xml', + APPLET: 'applet', + AREA: 'area', + ARTICLE: 'article', + ASIDE: 'aside', + + B: 'b', + BASE: 'base', + BASEFONT: 'basefont', + BGSOUND: 'bgsound', + BIG: 'big', + BLOCKQUOTE: 'blockquote', + BODY: 'body', + BR: 'br', + BUTTON: 'button', + + CAPTION: 'caption', + CENTER: 'center', + CODE: 'code', + COL: 'col', + COLGROUP: 'colgroup', + + DD: 'dd', + DESC: 'desc', + DETAILS: 'details', + DIALOG: 'dialog', + DIR: 'dir', + DIV: 'div', + DL: 'dl', + DT: 'dt', + + EM: 'em', + EMBED: 'embed', + + FIELDSET: 'fieldset', + FIGCAPTION: 'figcaption', + FIGURE: 'figure', + FONT: 'font', + FOOTER: 'footer', + FOREIGN_OBJECT: 'foreignObject', + FORM: 'form', + FRAME: 'frame', + FRAMESET: 'frameset', + + H1: 'h1', + H2: 'h2', + H3: 'h3', + H4: 'h4', + H5: 'h5', + H6: 'h6', + HEAD: 'head', + HEADER: 'header', + HGROUP: 'hgroup', + HR: 'hr', + HTML: 'html', + + I: 'i', + IMG: 'img', + IMAGE: 'image', + INPUT: 'input', + IFRAME: 'iframe', + + KEYGEN: 'keygen', + + LABEL: 'label', + LI: 'li', + LINK: 'link', + LISTING: 'listing', + + MAIN: 'main', + MALIGNMARK: 'malignmark', + MARQUEE: 'marquee', + MATH: 'math', + MENU: 'menu', + META: 'meta', + MGLYPH: 'mglyph', + MI: 'mi', + MO: 'mo', + MN: 'mn', + MS: 'ms', + MTEXT: 'mtext', + + NAV: 'nav', + NOBR: 'nobr', + NOFRAMES: 'noframes', + NOEMBED: 'noembed', + NOSCRIPT: 'noscript', + + OBJECT: 'object', + OL: 'ol', + OPTGROUP: 'optgroup', + OPTION: 'option', + + P: 'p', + PARAM: 'param', + PLAINTEXT: 'plaintext', + PRE: 'pre', + + RB: 'rb', + RP: 'rp', + RT: 'rt', + RTC: 'rtc', + RUBY: 'ruby', + + S: 's', + SCRIPT: 'script', + SECTION: 'section', + SELECT: 'select', + SOURCE: 'source', + SMALL: 'small', + SPAN: 'span', + STRIKE: 'strike', + STRONG: 'strong', + STYLE: 'style', + SUB: 'sub', + SUMMARY: 'summary', + SUP: 'sup', + + TABLE: 'table', + TBODY: 'tbody', + TEMPLATE: 'template', + TEXTAREA: 'textarea', + TFOOT: 'tfoot', + TD: 'td', + TH: 'th', + THEAD: 'thead', + TITLE: 'title', + TR: 'tr', + TRACK: 'track', + TT: 'tt', + + U: 'u', + UL: 'ul', + + SVG: 'svg', + + VAR: 'var', + + WBR: 'wbr', + + XMP: 'xmp' +}); + +exports.SPECIAL_ELEMENTS = { + [NS.HTML]: { + [$.ADDRESS]: true, + [$.APPLET]: true, + [$.AREA]: true, + [$.ARTICLE]: true, + [$.ASIDE]: true, + [$.BASE]: true, + [$.BASEFONT]: true, + [$.BGSOUND]: true, + [$.BLOCKQUOTE]: true, + [$.BODY]: true, + [$.BR]: true, + [$.BUTTON]: true, + [$.CAPTION]: true, + [$.CENTER]: true, + [$.COL]: true, + [$.COLGROUP]: true, + [$.DD]: true, + [$.DETAILS]: true, + [$.DIR]: true, + [$.DIV]: true, + [$.DL]: true, + [$.DT]: true, + [$.EMBED]: true, + [$.FIELDSET]: true, + [$.FIGCAPTION]: true, + [$.FIGURE]: true, + [$.FOOTER]: true, + [$.FORM]: true, + [$.FRAME]: true, + [$.FRAMESET]: true, + [$.H1]: true, + [$.H2]: true, + [$.H3]: true, + [$.H4]: true, + [$.H5]: true, + [$.H6]: true, + [$.HEAD]: true, + [$.HEADER]: true, + [$.HGROUP]: true, + [$.HR]: true, + [$.HTML]: true, + [$.IFRAME]: true, + [$.IMG]: true, + [$.INPUT]: true, + [$.LI]: true, + [$.LINK]: true, + [$.LISTING]: true, + [$.MAIN]: true, + [$.MARQUEE]: true, + [$.MENU]: true, + [$.META]: true, + [$.NAV]: true, + [$.NOEMBED]: true, + [$.NOFRAMES]: true, + [$.NOSCRIPT]: true, + [$.OBJECT]: true, + [$.OL]: true, + [$.P]: true, + [$.PARAM]: true, + [$.PLAINTEXT]: true, + [$.PRE]: true, + [$.SCRIPT]: true, + [$.SECTION]: true, + [$.SELECT]: true, + [$.SOURCE]: true, + [$.STYLE]: true, + [$.SUMMARY]: true, + [$.TABLE]: true, + [$.TBODY]: true, + [$.TD]: true, + [$.TEMPLATE]: true, + [$.TEXTAREA]: true, + [$.TFOOT]: true, + [$.TH]: true, + [$.THEAD]: true, + [$.TITLE]: true, + [$.TR]: true, + [$.TRACK]: true, + [$.UL]: true, + [$.WBR]: true, + [$.XMP]: true + }, + [NS.MATHML]: { + [$.MI]: true, + [$.MO]: true, + [$.MN]: true, + [$.MS]: true, + [$.MTEXT]: true, + [$.ANNOTATION_XML]: true + }, + [NS.SVG]: { + [$.TITLE]: true, + [$.FOREIGN_OBJECT]: true, + [$.DESC]: true + } +}; diff --git a/.output/server/node_modules/parse5/lib/common/unicode.js b/.output/server/node_modules/parse5/lib/common/unicode.js new file mode 100644 index 0000000000..8d8234f13f --- /dev/null +++ b/.output/server/node_modules/parse5/lib/common/unicode.js @@ -0,0 +1,109 @@ +'use strict'; + +const UNDEFINED_CODE_POINTS = [ + 0xfffe, + 0xffff, + 0x1fffe, + 0x1ffff, + 0x2fffe, + 0x2ffff, + 0x3fffe, + 0x3ffff, + 0x4fffe, + 0x4ffff, + 0x5fffe, + 0x5ffff, + 0x6fffe, + 0x6ffff, + 0x7fffe, + 0x7ffff, + 0x8fffe, + 0x8ffff, + 0x9fffe, + 0x9ffff, + 0xafffe, + 0xaffff, + 0xbfffe, + 0xbffff, + 0xcfffe, + 0xcffff, + 0xdfffe, + 0xdffff, + 0xefffe, + 0xeffff, + 0xffffe, + 0xfffff, + 0x10fffe, + 0x10ffff +]; + +exports.REPLACEMENT_CHARACTER = '\uFFFD'; + +exports.CODE_POINTS = { + EOF: -1, + NULL: 0x00, + TABULATION: 0x09, + CARRIAGE_RETURN: 0x0d, + LINE_FEED: 0x0a, + FORM_FEED: 0x0c, + SPACE: 0x20, + EXCLAMATION_MARK: 0x21, + QUOTATION_MARK: 0x22, + NUMBER_SIGN: 0x23, + AMPERSAND: 0x26, + APOSTROPHE: 0x27, + HYPHEN_MINUS: 0x2d, + SOLIDUS: 0x2f, + DIGIT_0: 0x30, + DIGIT_9: 0x39, + SEMICOLON: 0x3b, + LESS_THAN_SIGN: 0x3c, + EQUALS_SIGN: 0x3d, + GREATER_THAN_SIGN: 0x3e, + QUESTION_MARK: 0x3f, + LATIN_CAPITAL_A: 0x41, + LATIN_CAPITAL_F: 0x46, + LATIN_CAPITAL_X: 0x58, + LATIN_CAPITAL_Z: 0x5a, + RIGHT_SQUARE_BRACKET: 0x5d, + GRAVE_ACCENT: 0x60, + LATIN_SMALL_A: 0x61, + LATIN_SMALL_F: 0x66, + LATIN_SMALL_X: 0x78, + LATIN_SMALL_Z: 0x7a, + REPLACEMENT_CHARACTER: 0xfffd +}; + +exports.CODE_POINT_SEQUENCES = { + DASH_DASH_STRING: [0x2d, 0x2d], //-- + DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE + CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b], //[CDATA[ + SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script + PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43], //PUBLIC + SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM +}; + +//Surrogates +exports.isSurrogate = function(cp) { + return cp >= 0xd800 && cp <= 0xdfff; +}; + +exports.isSurrogatePair = function(cp) { + return cp >= 0xdc00 && cp <= 0xdfff; +}; + +exports.getSurrogatePairCodePoint = function(cp1, cp2) { + return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2; +}; + +//NOTE: excluding NULL and ASCII whitespace +exports.isControlCodePoint = function(cp) { + return ( + (cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) || + (cp >= 0x7f && cp <= 0x9f) + ); +}; + +exports.isUndefinedCodePoint = function(cp) { + return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1; +}; diff --git a/.output/server/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js b/.output/server/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js new file mode 100644 index 0000000000..1e30cfc12e --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js @@ -0,0 +1,43 @@ +'use strict'; + +const Mixin = require('../../utils/mixin'); + +class ErrorReportingMixinBase extends Mixin { + constructor(host, opts) { + super(host); + + this.posTracker = null; + this.onParseError = opts.onParseError; + } + + _setErrorLocation(err) { + err.startLine = err.endLine = this.posTracker.line; + err.startCol = err.endCol = this.posTracker.col; + err.startOffset = err.endOffset = this.posTracker.offset; + } + + _reportError(code) { + const err = { + code: code, + startLine: -1, + startCol: -1, + startOffset: -1, + endLine: -1, + endCol: -1, + endOffset: -1 + }; + + this._setErrorLocation(err); + this.onParseError(err); + } + + _getOverriddenMethods(mxn) { + return { + _err(code) { + mxn._reportError(code); + } + }; + } +} + +module.exports = ErrorReportingMixinBase; diff --git a/.output/server/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js b/.output/server/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js new file mode 100644 index 0000000000..107ec5a791 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js @@ -0,0 +1,52 @@ +'use strict'; + +const ErrorReportingMixinBase = require('./mixin-base'); +const ErrorReportingTokenizerMixin = require('./tokenizer-mixin'); +const LocationInfoTokenizerMixin = require('../location-info/tokenizer-mixin'); +const Mixin = require('../../utils/mixin'); + +class ErrorReportingParserMixin extends ErrorReportingMixinBase { + constructor(parser, opts) { + super(parser, opts); + + this.opts = opts; + this.ctLoc = null; + this.locBeforeToken = false; + } + + _setErrorLocation(err) { + if (this.ctLoc) { + err.startLine = this.ctLoc.startLine; + err.startCol = this.ctLoc.startCol; + err.startOffset = this.ctLoc.startOffset; + + err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine; + err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol; + err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset; + } + } + + _getOverriddenMethods(mxn, orig) { + return { + _bootstrap(document, fragmentContext) { + orig._bootstrap.call(this, document, fragmentContext); + + Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts); + Mixin.install(this.tokenizer, LocationInfoTokenizerMixin); + }, + + _processInputToken(token) { + mxn.ctLoc = token.location; + + orig._processInputToken.call(this, token); + }, + + _err(code, options) { + mxn.locBeforeToken = options && options.beforeToken; + mxn._reportError(code); + } + }; + } +} + +module.exports = ErrorReportingParserMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js b/.output/server/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js new file mode 100644 index 0000000000..398c966148 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js @@ -0,0 +1,24 @@ +'use strict'; + +const ErrorReportingMixinBase = require('./mixin-base'); +const PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin'); +const Mixin = require('../../utils/mixin'); + +class ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase { + constructor(preprocessor, opts) { + super(preprocessor, opts); + + this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin); + this.lastErrOffset = -1; + } + + _reportError(code) { + //NOTE: avoid reporting error twice on advance/retreat + if (this.lastErrOffset !== this.posTracker.offset) { + this.lastErrOffset = this.posTracker.offset; + super._reportError(code); + } + } +} + +module.exports = ErrorReportingPreprocessorMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js b/.output/server/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js new file mode 100644 index 0000000000..219fcabf73 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js @@ -0,0 +1,17 @@ +'use strict'; + +const ErrorReportingMixinBase = require('./mixin-base'); +const ErrorReportingPreprocessorMixin = require('./preprocessor-mixin'); +const Mixin = require('../../utils/mixin'); + +class ErrorReportingTokenizerMixin extends ErrorReportingMixinBase { + constructor(tokenizer, opts) { + super(tokenizer, opts); + + const preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts); + + this.posTracker = preprocessorMixin.posTracker; + } +} + +module.exports = ErrorReportingTokenizerMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js b/.output/server/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js new file mode 100644 index 0000000000..765fe77c52 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js @@ -0,0 +1,35 @@ +'use strict'; + +const Mixin = require('../../utils/mixin'); + +class LocationInfoOpenElementStackMixin extends Mixin { + constructor(stack, opts) { + super(stack); + + this.onItemPop = opts.onItemPop; + } + + _getOverriddenMethods(mxn, orig) { + return { + pop() { + mxn.onItemPop(this.current); + orig.pop.call(this); + }, + + popAllUpToHtmlElement() { + for (let i = this.stackTop; i > 0; i--) { + mxn.onItemPop(this.items[i]); + } + + orig.popAllUpToHtmlElement.call(this); + }, + + remove(element) { + mxn.onItemPop(this.current); + orig.remove.call(this, element); + } + }; + } +} + +module.exports = LocationInfoOpenElementStackMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/location-info/parser-mixin.js b/.output/server/node_modules/parse5/lib/extensions/location-info/parser-mixin.js new file mode 100644 index 0000000000..e7d3e2da12 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/location-info/parser-mixin.js @@ -0,0 +1,223 @@ +'use strict'; + +const Mixin = require('../../utils/mixin'); +const Tokenizer = require('../../tokenizer'); +const LocationInfoTokenizerMixin = require('./tokenizer-mixin'); +const LocationInfoOpenElementStackMixin = require('./open-element-stack-mixin'); +const HTML = require('../../common/html'); + +//Aliases +const $ = HTML.TAG_NAMES; + +class LocationInfoParserMixin extends Mixin { + constructor(parser) { + super(parser); + + this.parser = parser; + this.treeAdapter = this.parser.treeAdapter; + this.posTracker = null; + this.lastStartTagToken = null; + this.lastFosterParentingLocation = null; + this.currentToken = null; + } + + _setStartLocation(element) { + let loc = null; + + if (this.lastStartTagToken) { + loc = Object.assign({}, this.lastStartTagToken.location); + loc.startTag = this.lastStartTagToken.location; + } + + this.treeAdapter.setNodeSourceCodeLocation(element, loc); + } + + _setEndLocation(element, closingToken) { + const loc = this.treeAdapter.getNodeSourceCodeLocation(element); + + if (loc) { + if (closingToken.location) { + const ctLoc = closingToken.location; + const tn = this.treeAdapter.getTagName(element); + + // NOTE: For cases like

    - First 'p' closes without a closing + // tag and for cases like

    - 'p' closes without a closing tag. + const isClosingEndTag = closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName; + const endLoc = {}; + if (isClosingEndTag) { + endLoc.endTag = Object.assign({}, ctLoc); + endLoc.endLine = ctLoc.endLine; + endLoc.endCol = ctLoc.endCol; + endLoc.endOffset = ctLoc.endOffset; + } else { + endLoc.endLine = ctLoc.startLine; + endLoc.endCol = ctLoc.startCol; + endLoc.endOffset = ctLoc.startOffset; + } + + this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc); + } + } + } + + _getOverriddenMethods(mxn, orig) { + return { + _bootstrap(document, fragmentContext) { + orig._bootstrap.call(this, document, fragmentContext); + + mxn.lastStartTagToken = null; + mxn.lastFosterParentingLocation = null; + mxn.currentToken = null; + + const tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin); + + mxn.posTracker = tokenizerMixin.posTracker; + + Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, { + onItemPop: function(element) { + mxn._setEndLocation(element, mxn.currentToken); + } + }); + }, + + _runParsingLoop(scriptHandler) { + orig._runParsingLoop.call(this, scriptHandler); + + // NOTE: generate location info for elements + // that remains on open element stack + for (let i = this.openElements.stackTop; i >= 0; i--) { + mxn._setEndLocation(this.openElements.items[i], mxn.currentToken); + } + }, + + //Token processing + _processTokenInForeignContent(token) { + mxn.currentToken = token; + orig._processTokenInForeignContent.call(this, token); + }, + + _processToken(token) { + mxn.currentToken = token; + orig._processToken.call(this, token); + + //NOTE: and are never popped from the stack, so we need to updated + //their end location explicitly. + const requireExplicitUpdate = + token.type === Tokenizer.END_TAG_TOKEN && + (token.tagName === $.HTML || (token.tagName === $.BODY && this.openElements.hasInScope($.BODY))); + + if (requireExplicitUpdate) { + for (let i = this.openElements.stackTop; i >= 0; i--) { + const element = this.openElements.items[i]; + + if (this.treeAdapter.getTagName(element) === token.tagName) { + mxn._setEndLocation(element, token); + break; + } + } + } + }, + + //Doctype + _setDocumentType(token) { + orig._setDocumentType.call(this, token); + + const documentChildren = this.treeAdapter.getChildNodes(this.document); + const cnLength = documentChildren.length; + + for (let i = 0; i < cnLength; i++) { + const node = documentChildren[i]; + + if (this.treeAdapter.isDocumentTypeNode(node)) { + this.treeAdapter.setNodeSourceCodeLocation(node, token.location); + break; + } + } + }, + + //Elements + _attachElementToTree(element) { + //NOTE: _attachElementToTree is called from _appendElement, _insertElement and _insertTemplate methods. + //So we will use token location stored in this methods for the element. + mxn._setStartLocation(element); + mxn.lastStartTagToken = null; + orig._attachElementToTree.call(this, element); + }, + + _appendElement(token, namespaceURI) { + mxn.lastStartTagToken = token; + orig._appendElement.call(this, token, namespaceURI); + }, + + _insertElement(token, namespaceURI) { + mxn.lastStartTagToken = token; + orig._insertElement.call(this, token, namespaceURI); + }, + + _insertTemplate(token) { + mxn.lastStartTagToken = token; + orig._insertTemplate.call(this, token); + + const tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current); + + this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null); + }, + + _insertFakeRootElement() { + orig._insertFakeRootElement.call(this); + this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null); + }, + + //Comments + _appendCommentNode(token, parent) { + orig._appendCommentNode.call(this, token, parent); + + const children = this.treeAdapter.getChildNodes(parent); + const commentNode = children[children.length - 1]; + + this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location); + }, + + //Text + _findFosterParentingLocation() { + //NOTE: store last foster parenting location, so we will be able to find inserted text + //in case of foster parenting + mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this); + + return mxn.lastFosterParentingLocation; + }, + + _insertCharacters(token) { + orig._insertCharacters.call(this, token); + + const hasFosterParent = this._shouldFosterParentOnInsertion(); + + const parent = + (hasFosterParent && mxn.lastFosterParentingLocation.parent) || + this.openElements.currentTmplContent || + this.openElements.current; + + const siblings = this.treeAdapter.getChildNodes(parent); + + const textNodeIdx = + hasFosterParent && mxn.lastFosterParentingLocation.beforeElement + ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1 + : siblings.length - 1; + + const textNode = siblings[textNodeIdx]; + + //NOTE: if we have location assigned by another token, then just update end position + const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode); + + if (tnLoc) { + const { endLine, endCol, endOffset } = token.location; + this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset }); + } else { + this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location); + } + } + }; + } +} + +module.exports = LocationInfoParserMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js b/.output/server/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js new file mode 100644 index 0000000000..3c1ef5fbb1 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js @@ -0,0 +1,146 @@ +'use strict'; + +const Mixin = require('../../utils/mixin'); +const Tokenizer = require('../../tokenizer'); +const PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin'); + +class LocationInfoTokenizerMixin extends Mixin { + constructor(tokenizer) { + super(tokenizer); + + this.tokenizer = tokenizer; + this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin); + this.currentAttrLocation = null; + this.ctLoc = null; + } + + _getCurrentLocation() { + return { + startLine: this.posTracker.line, + startCol: this.posTracker.col, + startOffset: this.posTracker.offset, + endLine: -1, + endCol: -1, + endOffset: -1 + }; + } + + _attachCurrentAttrLocationInfo() { + this.currentAttrLocation.endLine = this.posTracker.line; + this.currentAttrLocation.endCol = this.posTracker.col; + this.currentAttrLocation.endOffset = this.posTracker.offset; + + const currentToken = this.tokenizer.currentToken; + const currentAttr = this.tokenizer.currentAttr; + + if (!currentToken.location.attrs) { + currentToken.location.attrs = Object.create(null); + } + + currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation; + } + + _getOverriddenMethods(mxn, orig) { + const methods = { + _createStartTagToken() { + orig._createStartTagToken.call(this); + this.currentToken.location = mxn.ctLoc; + }, + + _createEndTagToken() { + orig._createEndTagToken.call(this); + this.currentToken.location = mxn.ctLoc; + }, + + _createCommentToken() { + orig._createCommentToken.call(this); + this.currentToken.location = mxn.ctLoc; + }, + + _createDoctypeToken(initialName) { + orig._createDoctypeToken.call(this, initialName); + this.currentToken.location = mxn.ctLoc; + }, + + _createCharacterToken(type, ch) { + orig._createCharacterToken.call(this, type, ch); + this.currentCharacterToken.location = mxn.ctLoc; + }, + + _createEOFToken() { + orig._createEOFToken.call(this); + this.currentToken.location = mxn._getCurrentLocation(); + }, + + _createAttr(attrNameFirstCh) { + orig._createAttr.call(this, attrNameFirstCh); + mxn.currentAttrLocation = mxn._getCurrentLocation(); + }, + + _leaveAttrName(toState) { + orig._leaveAttrName.call(this, toState); + mxn._attachCurrentAttrLocationInfo(); + }, + + _leaveAttrValue(toState) { + orig._leaveAttrValue.call(this, toState); + mxn._attachCurrentAttrLocationInfo(); + }, + + _emitCurrentToken() { + const ctLoc = this.currentToken.location; + + //NOTE: if we have pending character token make it's end location equal to the + //current token's start location. + if (this.currentCharacterToken) { + this.currentCharacterToken.location.endLine = ctLoc.startLine; + this.currentCharacterToken.location.endCol = ctLoc.startCol; + this.currentCharacterToken.location.endOffset = ctLoc.startOffset; + } + + if (this.currentToken.type === Tokenizer.EOF_TOKEN) { + ctLoc.endLine = ctLoc.startLine; + ctLoc.endCol = ctLoc.startCol; + ctLoc.endOffset = ctLoc.startOffset; + } else { + ctLoc.endLine = mxn.posTracker.line; + ctLoc.endCol = mxn.posTracker.col + 1; + ctLoc.endOffset = mxn.posTracker.offset + 1; + } + + orig._emitCurrentToken.call(this); + }, + + _emitCurrentCharacterToken() { + const ctLoc = this.currentCharacterToken && this.currentCharacterToken.location; + + //NOTE: if we have character token and it's location wasn't set in the _emitCurrentToken(), + //then set it's location at the current preprocessor position. + //We don't need to increment preprocessor position, since character token + //emission is always forced by the start of the next character token here. + //So, we already have advanced position. + if (ctLoc && ctLoc.endOffset === -1) { + ctLoc.endLine = mxn.posTracker.line; + ctLoc.endCol = mxn.posTracker.col; + ctLoc.endOffset = mxn.posTracker.offset; + } + + orig._emitCurrentCharacterToken.call(this); + } + }; + + //NOTE: patch initial states for each mode to obtain token start position + Object.keys(Tokenizer.MODE).forEach(modeName => { + const state = Tokenizer.MODE[modeName]; + + methods[state] = function(cp) { + mxn.ctLoc = mxn._getCurrentLocation(); + orig[state].call(this, cp); + }; + }); + + return methods; + } +} + +module.exports = LocationInfoTokenizerMixin; diff --git a/.output/server/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js b/.output/server/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js new file mode 100644 index 0000000000..3a07d78017 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js @@ -0,0 +1,64 @@ +'use strict'; + +const Mixin = require('../../utils/mixin'); + +class PositionTrackingPreprocessorMixin extends Mixin { + constructor(preprocessor) { + super(preprocessor); + + this.preprocessor = preprocessor; + this.isEol = false; + this.lineStartPos = 0; + this.droppedBufferSize = 0; + + this.offset = 0; + this.col = 0; + this.line = 1; + } + + _getOverriddenMethods(mxn, orig) { + return { + advance() { + const pos = this.pos + 1; + const ch = this.html[pos]; + + //NOTE: LF should be in the last column of the line + if (mxn.isEol) { + mxn.isEol = false; + mxn.line++; + mxn.lineStartPos = pos; + } + + if (ch === '\n' || (ch === '\r' && this.html[pos + 1] !== '\n')) { + mxn.isEol = true; + } + + mxn.col = pos - mxn.lineStartPos + 1; + mxn.offset = mxn.droppedBufferSize + pos; + + return orig.advance.call(this); + }, + + retreat() { + orig.retreat.call(this); + + mxn.isEol = false; + mxn.col = this.pos - mxn.lineStartPos + 1; + }, + + dropParsedChunk() { + const prevPos = this.pos; + + orig.dropParsedChunk.call(this); + + const reduction = prevPos - this.pos; + + mxn.lineStartPos -= reduction; + mxn.droppedBufferSize += reduction; + mxn.offset = mxn.droppedBufferSize + this.pos; + } + }; + } +} + +module.exports = PositionTrackingPreprocessorMixin; diff --git a/.output/server/node_modules/parse5/lib/parser/formatting-element-list.js b/.output/server/node_modules/parse5/lib/parser/formatting-element-list.js new file mode 100644 index 0000000000..0e241dbfdb --- /dev/null +++ b/.output/server/node_modules/parse5/lib/parser/formatting-element-list.js @@ -0,0 +1,181 @@ +'use strict'; + +//Const +const NOAH_ARK_CAPACITY = 3; + +//List of formatting elements +class FormattingElementList { + constructor(treeAdapter) { + this.length = 0; + this.entries = []; + this.treeAdapter = treeAdapter; + this.bookmark = null; + } + + //Noah Ark's condition + //OPTIMIZATION: at first we try to find possible candidates for exclusion using + //lightweight heuristics without thorough attributes check. + _getNoahArkConditionCandidates(newElement) { + const candidates = []; + + if (this.length >= NOAH_ARK_CAPACITY) { + const neAttrsLength = this.treeAdapter.getAttrList(newElement).length; + const neTagName = this.treeAdapter.getTagName(newElement); + const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement); + + for (let i = this.length - 1; i >= 0; i--) { + const entry = this.entries[i]; + + if (entry.type === FormattingElementList.MARKER_ENTRY) { + break; + } + + const element = entry.element; + const elementAttrs = this.treeAdapter.getAttrList(element); + + const isCandidate = + this.treeAdapter.getTagName(element) === neTagName && + this.treeAdapter.getNamespaceURI(element) === neNamespaceURI && + elementAttrs.length === neAttrsLength; + + if (isCandidate) { + candidates.push({ idx: i, attrs: elementAttrs }); + } + } + } + + return candidates.length < NOAH_ARK_CAPACITY ? [] : candidates; + } + + _ensureNoahArkCondition(newElement) { + const candidates = this._getNoahArkConditionCandidates(newElement); + let cLength = candidates.length; + + if (cLength) { + const neAttrs = this.treeAdapter.getAttrList(newElement); + const neAttrsLength = neAttrs.length; + const neAttrsMap = Object.create(null); + + //NOTE: build attrs map for the new element so we can perform fast lookups + for (let i = 0; i < neAttrsLength; i++) { + const neAttr = neAttrs[i]; + + neAttrsMap[neAttr.name] = neAttr.value; + } + + for (let i = 0; i < neAttrsLength; i++) { + for (let j = 0; j < cLength; j++) { + const cAttr = candidates[j].attrs[i]; + + if (neAttrsMap[cAttr.name] !== cAttr.value) { + candidates.splice(j, 1); + cLength--; + } + + if (candidates.length < NOAH_ARK_CAPACITY) { + return; + } + } + } + + //NOTE: remove bottommost candidates until Noah's Ark condition will not be met + for (let i = cLength - 1; i >= NOAH_ARK_CAPACITY - 1; i--) { + this.entries.splice(candidates[i].idx, 1); + this.length--; + } + } + } + + //Mutations + insertMarker() { + this.entries.push({ type: FormattingElementList.MARKER_ENTRY }); + this.length++; + } + + pushElement(element, token) { + this._ensureNoahArkCondition(element); + + this.entries.push({ + type: FormattingElementList.ELEMENT_ENTRY, + element: element, + token: token + }); + + this.length++; + } + + insertElementAfterBookmark(element, token) { + let bookmarkIdx = this.length - 1; + + for (; bookmarkIdx >= 0; bookmarkIdx--) { + if (this.entries[bookmarkIdx] === this.bookmark) { + break; + } + } + + this.entries.splice(bookmarkIdx + 1, 0, { + type: FormattingElementList.ELEMENT_ENTRY, + element: element, + token: token + }); + + this.length++; + } + + removeEntry(entry) { + for (let i = this.length - 1; i >= 0; i--) { + if (this.entries[i] === entry) { + this.entries.splice(i, 1); + this.length--; + break; + } + } + } + + clearToLastMarker() { + while (this.length) { + const entry = this.entries.pop(); + + this.length--; + + if (entry.type === FormattingElementList.MARKER_ENTRY) { + break; + } + } + } + + //Search + getElementEntryInScopeWithTagName(tagName) { + for (let i = this.length - 1; i >= 0; i--) { + const entry = this.entries[i]; + + if (entry.type === FormattingElementList.MARKER_ENTRY) { + return null; + } + + if (this.treeAdapter.getTagName(entry.element) === tagName) { + return entry; + } + } + + return null; + } + + getElementEntry(element) { + for (let i = this.length - 1; i >= 0; i--) { + const entry = this.entries[i]; + + if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) { + return entry; + } + } + + return null; + } +} + +//Entry types +FormattingElementList.MARKER_ENTRY = 'MARKER_ENTRY'; +FormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY'; + +module.exports = FormattingElementList; diff --git a/.output/server/node_modules/parse5/lib/parser/index.js b/.output/server/node_modules/parse5/lib/parser/index.js new file mode 100644 index 0000000000..45d3e83af2 --- /dev/null +++ b/.output/server/node_modules/parse5/lib/parser/index.js @@ -0,0 +1,2956 @@ +'use strict'; + +const Tokenizer = require('../tokenizer'); +const OpenElementStack = require('./open-element-stack'); +const FormattingElementList = require('./formatting-element-list'); +const LocationInfoParserMixin = require('../extensions/location-info/parser-mixin'); +const ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin'); +const Mixin = require('../utils/mixin'); +const defaultTreeAdapter = require('../tree-adapters/default'); +const mergeOptions = require('../utils/merge-options'); +const doctype = require('../common/doctype'); +const foreignContent = require('../common/foreign-content'); +const ERR = require('../common/error-codes'); +const unicode = require('../common/unicode'); +const HTML = require('../common/html'); + +//Aliases +const $ = HTML.TAG_NAMES; +const NS = HTML.NAMESPACES; +const ATTRS = HTML.ATTRS; + +const DEFAULT_OPTIONS = { + scriptingEnabled: true, + sourceCodeLocationInfo: false, + onParseError: null, + treeAdapter: defaultTreeAdapter +}; + +//Misc constants +const HIDDEN_INPUT_TYPE = 'hidden'; + +//Adoption agency loops iteration count +const AA_OUTER_LOOP_ITER = 8; +const AA_INNER_LOOP_ITER = 3; + +//Insertion modes +const INITIAL_MODE = 'INITIAL_MODE'; +const BEFORE_HTML_MODE = 'BEFORE_HTML_MODE'; +const BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE'; +const IN_HEAD_MODE = 'IN_HEAD_MODE'; +const IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE'; +const AFTER_HEAD_MODE = 'AFTER_HEAD_MODE'; +const IN_BODY_MODE = 'IN_BODY_MODE'; +const TEXT_MODE = 'TEXT_MODE'; +const IN_TABLE_MODE = 'IN_TABLE_MODE'; +const IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE'; +const IN_CAPTION_MODE = 'IN_CAPTION_MODE'; +const IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE'; +const IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE'; +const IN_ROW_MODE = 'IN_ROW_MODE'; +const IN_CELL_MODE = 'IN_CELL_MODE'; +const IN_SELECT_MODE = 'IN_SELECT_MODE'; +const IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE'; +const IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE'; +const AFTER_BODY_MODE = 'AFTER_BODY_MODE'; +const IN_FRAMESET_MODE = 'IN_FRAMESET_MODE'; +const AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE'; +const AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE'; +const AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE'; + +//Insertion mode reset map +const INSERTION_MODE_RESET_MAP = { + [$.TR]: IN_ROW_MODE, + [$.TBODY]: IN_TABLE_BODY_MODE, + [$.THEAD]: IN_TABLE_BODY_MODE, + [$.TFOOT]: IN_TABLE_BODY_MODE, + [$.CAPTION]: IN_CAPTION_MODE, + [$.COLGROUP]: IN_COLUMN_GROUP_MODE, + [$.TABLE]: IN_TABLE_MODE, + [$.BODY]: IN_BODY_MODE, + [$.FRAMESET]: IN_FRAMESET_MODE +}; + +//Template insertion mode switch map +const TEMPLATE_INSERTION_MODE_SWITCH_MAP = { + [$.CAPTION]: IN_TABLE_MODE, + [$.COLGROUP]: IN_TABLE_MODE, + [$.TBODY]: IN_TABLE_MODE, + [$.TFOOT]: IN_TABLE_MODE, + [$.THEAD]: IN_TABLE_MODE, + [$.COL]: IN_COLUMN_GROUP_MODE, + [$.TR]: IN_TABLE_BODY_MODE, + [$.TD]: IN_ROW_MODE, + [$.TH]: IN_ROW_MODE +}; + +//Token handlers map for insertion modes +const TOKEN_HANDLERS = { + [INITIAL_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: doctypeInInitialMode, + [Tokenizer.START_TAG_TOKEN]: tokenInInitialMode, + [Tokenizer.END_TAG_TOKEN]: tokenInInitialMode, + [Tokenizer.EOF_TOKEN]: tokenInInitialMode + }, + [BEFORE_HTML_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagBeforeHtml, + [Tokenizer.END_TAG_TOKEN]: endTagBeforeHtml, + [Tokenizer.EOF_TOKEN]: tokenBeforeHtml + }, + [BEFORE_HEAD_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype, + [Tokenizer.START_TAG_TOKEN]: startTagBeforeHead, + [Tokenizer.END_TAG_TOKEN]: endTagBeforeHead, + [Tokenizer.EOF_TOKEN]: tokenBeforeHead + }, + [IN_HEAD_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenInHead, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype, + [Tokenizer.START_TAG_TOKEN]: startTagInHead, + [Tokenizer.END_TAG_TOKEN]: endTagInHead, + [Tokenizer.EOF_TOKEN]: tokenInHead + }, + [IN_HEAD_NO_SCRIPT_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype, + [Tokenizer.START_TAG_TOKEN]: startTagInHeadNoScript, + [Tokenizer.END_TAG_TOKEN]: endTagInHeadNoScript, + [Tokenizer.EOF_TOKEN]: tokenInHeadNoScript + }, + [AFTER_HEAD_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenAfterHead, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype, + [Tokenizer.START_TAG_TOKEN]: startTagAfterHead, + [Tokenizer.END_TAG_TOKEN]: endTagAfterHead, + [Tokenizer.EOF_TOKEN]: tokenAfterHead + }, + [IN_BODY_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInBody, + [Tokenizer.END_TAG_TOKEN]: endTagInBody, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [TEXT_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: ignoreToken, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: ignoreToken, + [Tokenizer.END_TAG_TOKEN]: endTagInText, + [Tokenizer.EOF_TOKEN]: eofInText + }, + [IN_TABLE_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInTable, + [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInTable, + [Tokenizer.END_TAG_TOKEN]: endTagInTable, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_TABLE_TEXT_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInTableText, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInTableText, + [Tokenizer.COMMENT_TOKEN]: tokenInTableText, + [Tokenizer.DOCTYPE_TOKEN]: tokenInTableText, + [Tokenizer.START_TAG_TOKEN]: tokenInTableText, + [Tokenizer.END_TAG_TOKEN]: tokenInTableText, + [Tokenizer.EOF_TOKEN]: tokenInTableText + }, + [IN_CAPTION_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInCaption, + [Tokenizer.END_TAG_TOKEN]: endTagInCaption, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_COLUMN_GROUP_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInColumnGroup, + [Tokenizer.END_TAG_TOKEN]: endTagInColumnGroup, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_TABLE_BODY_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInTable, + [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInTableBody, + [Tokenizer.END_TAG_TOKEN]: endTagInTableBody, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_ROW_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInTable, + [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInRow, + [Tokenizer.END_TAG_TOKEN]: endTagInRow, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_CELL_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInCell, + [Tokenizer.END_TAG_TOKEN]: endTagInCell, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_SELECT_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInSelect, + [Tokenizer.END_TAG_TOKEN]: endTagInSelect, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_SELECT_IN_TABLE_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInSelectInTable, + [Tokenizer.END_TAG_TOKEN]: endTagInSelectInTable, + [Tokenizer.EOF_TOKEN]: eofInBody + }, + [IN_TEMPLATE_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: characterInBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInTemplate, + [Tokenizer.END_TAG_TOKEN]: endTagInTemplate, + [Tokenizer.EOF_TOKEN]: eofInTemplate + }, + [AFTER_BODY_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenAfterBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendCommentToRootHtmlElement, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagAfterBody, + [Tokenizer.END_TAG_TOKEN]: endTagAfterBody, + [Tokenizer.EOF_TOKEN]: stopParsing + }, + [IN_FRAMESET_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagInFrameset, + [Tokenizer.END_TAG_TOKEN]: endTagInFrameset, + [Tokenizer.EOF_TOKEN]: stopParsing + }, + [AFTER_FRAMESET_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters, + [Tokenizer.COMMENT_TOKEN]: appendComment, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagAfterFrameset, + [Tokenizer.END_TAG_TOKEN]: endTagAfterFrameset, + [Tokenizer.EOF_TOKEN]: stopParsing + }, + [AFTER_AFTER_BODY_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody, + [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterBody, + [Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody, + [Tokenizer.EOF_TOKEN]: stopParsing + }, + [AFTER_AFTER_FRAMESET_MODE]: { + [Tokenizer.CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken, + [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody, + [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument, + [Tokenizer.DOCTYPE_TOKEN]: ignoreToken, + [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterFrameset, + [Tokenizer.END_TAG_TOKEN]: ignoreToken, + [Tokenizer.EOF_TOKEN]: stopParsing + } +}; + +//Parser +class Parser { + constructor(options) { + this.options = mergeOptions(DEFAULT_OPTIONS, options); + + this.treeAdapter = this.options.treeAdapter; + this.pendingScript = null; + + if (this.options.sourceCodeLocationInfo) { + Mixin.install(this, LocationInfoParserMixin); + } + + if (this.options.onParseError) { + Mixin.install(this, ErrorReportingParserMixin, { onParseError: this.options.onParseError }); + } + } + + // API + parse(html) { + const document = this.treeAdapter.createDocument(); + + this._bootstrap(document, null); + this.tokenizer.write(html, true); + this._runParsingLoop(null); + + return document; + } + + parseFragment(html, fragmentContext) { + //NOTE: use