{"version":3,"file":"frontmatter.daeef12a.js","sources":["../../../../ui/packages/code/interactive/frontmatter.ts"],"sourcesContent":["import type {\n\tElement,\n\tMarkdownExtension,\n\tBlockContext,\n\tLine\n} from \"@lezer/markdown\";\nimport { parseMixed } from \"@lezer/common\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\nimport { foldInside, foldNodeProp, StreamLanguage } from \"@codemirror/language\";\nimport { styleTags, tags } from \"@lezer/highlight\";\n\nconst frontMatterFence = /^---\\s*$/m;\n\nexport const frontmatter: MarkdownExtension = {\n\tdefineNodes: [{ name: \"Frontmatter\", block: true }, \"FrontmatterMark\"],\n\tprops: [\n\t\tstyleTags({\n\t\t\tFrontmatter: [tags.documentMeta, tags.monospace],\n\t\t\tFrontmatterMark: tags.processingInstruction\n\t\t}),\n\t\tfoldNodeProp.add({\n\t\t\tFrontmatter: foldInside,\n\t\t\tFrontmatterMark: () => null\n\t\t})\n\t],\n\twrap: parseMixed((node) => {\n\t\tconst { parser } = StreamLanguage.define(yaml);\n\t\tif (node.type.name === \"Frontmatter\") {\n\t\t\treturn {\n\t\t\t\tparser,\n\t\t\t\toverlay: [{ from: node.from + 4, to: node.to - 4 }]\n\t\t\t};\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}),\n\tparseBlock: [\n\t\t{\n\t\t\tname: \"Frontmatter\",\n\t\t\tbefore: \"HorizontalRule\",\n\t\t\tparse: (cx: BlockContext, line: Line): boolean => {\n\t\t\t\tlet end: number | undefined = undefined;\n\t\t\t\tconst children = new Array();\n\t\t\t\tif (cx.lineStart === 0 && frontMatterFence.test(line.text)) {\n\t\t\t\t\tchildren.push(cx.elt(\"FrontmatterMark\", 0, 4));\n\t\t\t\t\twhile (cx.nextLine()) {\n\t\t\t\t\t\tif (frontMatterFence.test(line.text)) {\n\t\t\t\t\t\t\tend = cx.lineStart + 4;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (end !== undefined) {\n\t\t\t\t\t\tchildren.push(cx.elt(\"FrontmatterMark\", end - 4, end));\n\t\t\t\t\t\tcx.addElement(cx.elt(\"Frontmatter\", 0, end, children));\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n};\n"],"names":[],"mappings":"4ZAWA,KAAM,GAAmB,YAEZ,EAAiC,CAC7C,YAAa,CAAC,CAAE,KAAM,cAAe,MAAO,IAAQ,iBAAiB,EACrE,MAAO,CACN,EAAU,CACT,YAAa,CAAC,EAAK,aAAc,EAAK,SAAS,EAC/C,gBAAiB,EAAK,sBACtB,EACD,EAAa,IAAI,CAChB,YAAa,EACb,gBAAiB,IAAM,KACvB,GAEF,KAAM,EAAW,AAAC,GAAS,MACpB,CAAE,UAAW,EAAe,OAAO,CAAI,QACzC,GAAK,KAAK,OAAS,cACf,CACN,SACA,QAAS,CAAC,CAAE,KAAM,EAAK,KAAO,EAAG,GAAI,EAAK,GAAK,EAAG,GAG5C,KAER,EACD,WAAY,CACX,CACC,KAAM,cACN,OAAQ,iBACR,MAAO,CAAC,EAAkB,IAAwB,IAC7C,QACE,GAAW,GAAI,UACjB,EAAG,YAAc,GAAK,EAAiB,KAAK,EAAK,IAAI,EAAG,OAClD,KAAK,EAAG,IAAI,kBAAmB,EAAG,CAAC,CAAC,EACtC,EAAG,eACL,EAAiB,KAAK,EAAK,IAAI,EAAG,GAC/B,EAAG,UAAY,cAInB,KAAQ,WACF,KAAK,EAAG,IAAI,kBAAmB,EAAM,EAAG,CAAG,CAAC,IAClD,WAAW,EAAG,IAAI,cAAe,EAAG,EAAK,CAAQ,CAAC,GAE/C,cAEA,KAKZ"}