{"version":3,"sources":["marked-gfm-heading-id.ts"],"sourcesContent":["import GithubSlugger from \"./github-slugger.js\";\nlet slugger = new GithubSlugger();\nlet headings: {\n  level: number;\n  text: string;\n  id: string;\n}[] = [];\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html: string) {\n  return html.replace(unescapeTest, (_, n) => {\n    n = n.toLowerCase();\n    if (n === \"colon\")\n      return \":\";\n    if (n.charAt(0) === \"#\") {\n      return n.charAt(1) === \"x\" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n    }\n    return \"\";\n  });\n}\nfunction gfmHeadingId({prefix = \"\", globalSlugs = false} = {}) {\n  return {\n    headerIds: false,\n    hooks: {\n      preprocess(src: string) {\n        if (!globalSlugs) {\n          resetHeadings();\n        }\n        return src;\n      }\n    },\n    useNewRenderer: true,\n    renderer: {\n      // @ts-ignore $\n      heading({tokens, depth}) {\n        // @ts-ignore $\n        const text = this.parser.parseInline(tokens);\n        // @ts-ignore $\n        const raw = unescape(this.parser.parseInline(tokens, this.parser.textRenderer)).toLowerCase().trim().replace(/<[!\\/a-z].*?>/gi, \"\");\n        const level = depth;\n        const id: string = `${prefix}${slugger.slug(raw)}`;\n        const heading = {level, text, id};\n        headings.push(heading);\n        return `<h${level} id=\"${id}\">${text}</h${level}>\n`;\n      }\n    }\n  };\n}\nfunction getHeadingList() {\n  return headings;\n}\nfunction resetHeadings() {\n  headings = [];\n  slugger = new GithubSlugger();\n}\nexport {getHeadingList, gfmHeadingId, resetHeadings, unescape};\nexport default null;"],"names":["GithubSlugger","slugger","headings","unescapeTest","unescape","html","replace","_","n","toLowerCase","charAt","String","fromCharCode","parseInt","substring","gfmHeadingId","prefix","globalSlugs","headerIds","hooks","preprocess","src","resetHeadings","useNewRenderer","renderer","heading","tokens","depth","text","parser","parseInline","raw","textRenderer","trim","id","slug","push","level","getHeadingList"],"mappings":"AAAA,OAAOA,mBAAmB,sBAAsB;AAChD,IAAIC,UAAU,IAAID,iBACdE,WAIE,EAAE,EACFC,eAAe;AACrB,SAASC,SAASC,IAAY;IAC5B,OAAOA,KAAKC,OAAO,CAACH,cAAc,CAACI,GAAGC,IAEpC,AAAIA,AAAM,YADVA,CAAAA,IAAIA,EAAEC,WAAW,EAAC,IAET,MACLD,AAAgB,QAAhBA,EAAEE,MAAM,CAAC,KACJF,AAAgB,QAAhBA,EAAEE,MAAM,CAAC,KAAaC,OAAOC,YAAY,CAACC,SAASL,EAAEM,SAAS,CAAC,IAAI,OAAOH,OAAOC,YAAY,CAAC,CAACJ,EAAEM,SAAS,CAAC,MAE7G;AAEX;AACA,SAASC,aAAa,EAACC,SAAS,EAAE,EAAEC,cAAc,CAAA,CAAK,EAAC,GAAG,CAAC,CAAC;IAC3D,OAAO;QACLC,WAAW,CAAA;QACXC,OAAO;YACLC,YAAAA,CAAWC,OACJJ,eACHK,iBAEKD;QAEX;QACAE,gBAAgB,CAAA;QAChBC,UAAU;YAERC,SAAQ,EAACC,MAAM,EAAEC,KAAK,EAAC;gBAErB,IAAMC,OAAO,IAAI,CAACC,MAAM,CAACC,WAAW,CAACJ,SAE/BK,MAAM3B,SAAS,IAAI,CAACyB,MAAM,CAACC,WAAW,CAACJ,QAAQ,IAAI,CAACG,MAAM,CAACG,YAAY,GAAGvB,WAAW,GAAGwB,IAAI,GAAG3B,OAAO,CAAC,mBAAmB,KAE1H4B,KAAa,CAAC,EAAElB,OAAO,EAAEf,QAAQkC,IAAI,CAACJ,KAAK,CAAC;gBAGlD,OADA7B,SAASkC,IAAI,CADG;oBAACC,OAFHV;oBAEUC;oBAAMM;gBAAE,IAEzB,CAAC,EAAE,EAJIP,MAII,KAAK,EAAEO,GAAG,EAAE,EAAEN,KAAK,GAAG,EAJ1BD,MAIkC;AACxD,CAAC;YACK;QACF;IACF;AACF;AACA,SAASW;IACP,OAAOpC;AACT;AACA,SAASoB;IACPpB,WAAW,EAAE,EACbD,UAAU,IAAID;AAChB;AAEA,eAAe,KAAK;SADZsC,cAAc,EAAEvB,YAAY,EAAEO,aAAa,EAAElB,QAAQ","sourceRoot":"/lib/uix-pwa-0.0.15/components/Markdown/lib/","file":"marked-gfm-heading-id.ts"}