{"version":3,"file":"markdownItAnchor.mjs","sources":["../permalink.js","../index.js"],"sourcesContent":["let emittedWarning = false\n\nconst position = {\n  false: 'push',\n  true: 'unshift',\n  after: 'push',\n  before: 'unshift'\n}\n\nconst permalinkSymbolMeta = {\n  isPermalinkSymbol: true\n}\n\nexport function legacy (slug, opts, state, idx) {\n  if (!emittedWarning) {\n    const warningText = 'Using deprecated markdown-it-anchor permalink option, see https://github.com/valeriangalliat/markdown-it-anchor#todo-anchor-or-file'\n\n    if (typeof process === 'object' && process && process.emitWarning) {\n      process.emitWarning(warningText)\n    } else {\n      console.warn(warningText)\n    }\n\n    emittedWarning = true\n  }\n\n  const linkTokens = [\n    Object.assign(new state.Token('link_open', 'a', 1), {\n      attrs: [\n        ...(opts.permalinkClass ? [['class', opts.permalinkClass]] : []),\n        ['href', opts.permalinkHref(slug, state)],\n        ...Object.entries(opts.permalinkAttrs(slug, state))\n      ]\n    }),\n    Object.assign(new state.Token('html_block', '', 0), { content: opts.permalinkSymbol, meta: permalinkSymbolMeta }),\n    new state.Token('link_close', 'a', -1)\n  ]\n\n  if (opts.permalinkSpace) {\n    state.tokens[idx + 1].children[position[opts.permalinkBefore]](Object.assign(new state.Token('text', '', 0), { content: ' ' }))\n  }\n\n  state.tokens[idx + 1].children[position[opts.permalinkBefore]](...linkTokens)\n}\n\nexport function renderHref (slug) {\n  return `#${slug}`\n}\n\nexport function renderAttrs (slug) {\n  return {}\n}\n\nconst commonDefaults = {\n  class: 'header-anchor',\n  symbol: '#',\n  renderHref,\n  renderAttrs\n}\n\nexport function makePermalink (renderPermalinkImpl) {\n  function renderPermalink (opts) {\n    opts = Object.assign({}, renderPermalink.defaults, opts)\n\n    return (slug, anchorOpts, state, idx) => {\n      return renderPermalinkImpl(slug, opts, anchorOpts, state, idx)\n    }\n  }\n\n  renderPermalink.defaults = Object.assign({}, commonDefaults)\n  renderPermalink.renderPermalinkImpl = renderPermalinkImpl\n\n  return renderPermalink\n}\n\nexport const linkInsideHeader = makePermalink((slug, opts, anchorOpts, state, idx) => {\n  const linkTokens = [\n    Object.assign(new state.Token('link_open', 'a', 1), {\n      attrs: [\n        ...(opts.class ? [['class', opts.class]] : []),\n        ['href', opts.renderHref(slug, state)],\n        ...(opts.ariaHidden ? [['aria-hidden', 'true']] : []),\n        ...Object.entries(opts.renderAttrs(slug, state))\n      ]\n    }),\n    Object.assign(new state.Token('html_inline', '', 0), { content: opts.symbol, meta: permalinkSymbolMeta }),\n    new state.Token('link_close', 'a', -1)\n  ]\n\n  if (opts.space) {\n    state.tokens[idx + 1].children[position[opts.placement]](Object.assign(new state.Token('text', '', 0), { content: ' ' }))\n  }\n\n  state.tokens[idx + 1].children[position[opts.placement]](...linkTokens)\n})\n\nObject.assign(linkInsideHeader.defaults, {\n  space: true,\n  placement: 'after',\n  ariaHidden: false\n})\n\nexport const ariaHidden = makePermalink(linkInsideHeader.renderPermalinkImpl)\n\nariaHidden.defaults = Object.assign({}, linkInsideHeader.defaults, {\n  ariaHidden: true\n})\n\nexport const headerLink = makePermalink((slug, opts, anchorOpts, state, idx) => {\n  const linkTokens = [\n    Object.assign(new state.Token('link_open', 'a', 1), {\n      attrs: [\n        ...(opts.class ? [['class', opts.class]] : []),\n        ['href', opts.renderHref(slug, state)],\n        ...Object.entries(opts.renderAttrs(slug, state))\n      ]\n    }),\n    ...(opts.safariReaderFix ? [new state.Token('span_open', 'span', 1)] : []),\n    ...state.tokens[idx + 1].children,\n    ...(opts.safariReaderFix ? [new state.Token('span_close', 'span', -1)] : []),\n    new state.Token('link_close', 'a', -1)\n  ]\n\n  state.tokens[idx + 1] = Object.assign(new state.Token('inline', '', 0), {\n    children: linkTokens\n  })\n})\n\nObject.assign(headerLink.defaults, {\n  safariReaderFix: false\n})\n\nexport const linkAfterHeader = makePermalink((slug, opts, anchorOpts, state, idx) => {\n  if (!['visually-hidden', 'aria-label', 'aria-describedby', 'aria-labelledby'].includes(opts.style)) {\n    throw new Error(`\\`permalink.linkAfterHeader\\` called with unknown style option \\`${opts.style}\\``)\n  }\n\n  if (!['aria-describedby', 'aria-labelledby'].includes(opts.style) && !opts.assistiveText) {\n    throw new Error(`\\`permalink.linkAfterHeader\\` called without the \\`assistiveText\\` option in \\`${opts.style}\\` style`)\n  }\n\n  if (opts.style === 'visually-hidden' && !opts.visuallyHiddenClass) {\n    throw new Error('`permalink.linkAfterHeader` called without the `visuallyHiddenClass` option in `visually-hidden` style')\n  }\n\n  const title = state.tokens[idx + 1]\n    .children\n    .filter(token => token.type === 'text' || token.type === 'code_inline')\n    .reduce((acc, t) => acc + t.content, '')\n\n  const subLinkTokens = []\n  const linkAttrs = []\n\n  if (opts.class) {\n    linkAttrs.push(['class', opts.class])\n  }\n\n  linkAttrs.push(['href', opts.renderHref(slug, state)])\n  linkAttrs.push(...Object.entries(opts.renderAttrs(slug, state)))\n\n  if (opts.style === 'visually-hidden') {\n    subLinkTokens.push(\n      Object.assign(new state.Token('span_open', 'span', 1), {\n        attrs: [['class', opts.visuallyHiddenClass]],\n      }),\n      Object.assign(new state.Token('text', '', 0), {\n        content: opts.assistiveText(title)\n      }),\n      new state.Token('span_close', 'span', -1)\n    )\n\n    if (opts.space) {\n      subLinkTokens[position[opts.placement]](Object.assign(new state.Token('text', '', 0), { content: ' ' }))\n    }\n\n    subLinkTokens[position[opts.placement]](\n      Object.assign(new state.Token('span_open', 'span', 1), {\n        attrs: [['aria-hidden', 'true']],\n      }),\n      Object.assign(new state.Token('html_inline', '', 0), {\n        content: opts.symbol,\n        meta: permalinkSymbolMeta\n      }),\n      new state.Token('span_close', 'span', -1)\n    )\n  } else {\n    subLinkTokens.push(\n      Object.assign(new state.Token('html_inline', '', 0), {\n        content: opts.symbol,\n        meta: permalinkSymbolMeta\n      })\n    )\n  }\n\n  if (opts.style === 'aria-label') {\n    linkAttrs.push(['aria-label', opts.assistiveText(title)])\n  } else if (['aria-describedby', 'aria-labelledby'].includes(opts.style)) {\n    linkAttrs.push([opts.style, slug])\n  }\n\n  const linkTokens = [\n    Object.assign(new state.Token('link_open', 'a', 1), {\n      attrs: linkAttrs\n    }),\n    ...subLinkTokens,\n    new state.Token('link_close', 'a', -1),\n  ]\n\n  state.tokens.splice(idx + 3, 0, ...linkTokens)\n})\n\nObject.assign(linkAfterHeader.defaults, {\n  style: 'visually-hidden',\n  space: true,\n  placement: 'after'\n})\n","import * as permalink from './permalink'\n\nconst slugify = (s) => encodeURIComponent(String(s).trim().toLowerCase().replace(/\\s+/g, '-'))\n\nfunction uniqueSlug (slug, slugs, failOnNonUnique, startIndex) {\n  let uniq = slug\n  let i = startIndex\n\n  if (failOnNonUnique && Object.prototype.hasOwnProperty.call(slugs, uniq)) {\n    throw new Error(`User defined \\`id\\` attribute \\`${slug}\\` is not unique. Please fix it in your Markdown to continue.`)\n  } else {\n    while (Object.prototype.hasOwnProperty.call(slugs, uniq)) {\n      uniq = `${slug}-${i}`\n      i += 1\n    }\n  }\n\n  slugs[uniq] = true\n\n  return uniq\n}\n\nconst isLevelSelectedNumber = selection => level => level >= selection\nconst isLevelSelectedArray = selection => level => selection.includes(level)\n\nfunction anchor (md, opts) {\n  opts = Object.assign({}, anchor.defaults, opts)\n\n  md.core.ruler.push('anchor', state => {\n    const slugs = {}\n    const tokens = state.tokens\n\n    const isLevelSelected = Array.isArray(opts.level)\n      ? isLevelSelectedArray(opts.level)\n      : isLevelSelectedNumber(opts.level)\n\n    for (let idx = 0; idx < tokens.length; idx++) {\n      const token = tokens[idx]\n\n      if (token.type !== 'heading_open') {\n        continue\n      }\n\n      if (!isLevelSelected(Number(token.tag.substr(1)))) {\n        continue\n      }\n\n      // Aggregate the next token children text.\n      const title = tokens[idx + 1]\n        .children\n        .filter(token => token.type === 'text' || token.type === 'code_inline')\n        .reduce((acc, t) => acc + t.content, '')\n\n      let slug = token.attrGet('id')\n\n      if (slug == null) {\n        slug = uniqueSlug(opts.slugify(title), slugs, false, opts.uniqueSlugStartIndex)\n      } else {\n        slug = uniqueSlug(slug, slugs, true, opts.uniqueSlugStartIndex)\n      }\n\n      token.attrSet('id', slug)\n\n      if (opts.tabIndex !== false) {\n        token.attrSet('tabindex', `${opts.tabIndex}`)\n      }\n\n      if (typeof opts.permalink === 'function') {\n        opts.permalink(slug, opts, state, idx)\n      } else if (opts.permalink) {\n        opts.renderPermalink(slug, opts, state, idx)\n      } else if (opts.renderPermalink && opts.renderPermalink !== permalink.legacy) {\n        opts.renderPermalink(slug, opts, state, idx)\n      }\n\n      // A permalink renderer could modify the `tokens` array so\n      // make sure to get the up-to-date index on each iteration.\n      idx = tokens.indexOf(token)\n\n      if (opts.callback) {\n        opts.callback(token, { slug, title })\n      }\n    }\n  })\n}\n\nanchor.permalink = permalink\n\nanchor.defaults = {\n  level: 1,\n  slugify,\n  uniqueSlugStartIndex: 1,\n  tabIndex: '-1',\n\n  // Legacy options.\n  permalink: false,\n  renderPermalink: permalink.legacy,\n  permalinkClass: permalink.ariaHidden.defaults.class,\n  permalinkSpace: permalink.ariaHidden.defaults.space,\n  permalinkSymbol: 'ΒΆ',\n  permalinkBefore: permalink.ariaHidden.defaults.placement === 'before',\n  permalinkHref: permalink.ariaHidden.defaults.renderHref,\n  permalinkAttrs: permalink.ariaHidden.defaults.renderAttrs\n}\n\n// Dirty hack to make `import anchor from 'markdown-it-anchor'` work with\n// TypeScript which doesn't support the `module` field of `package.json` and\n// will always get the CommonJS version which otherwise wouldn't have a\n// `default` key, resulting in markdown-it-anchor being undefined when being\n// imported that way.\nanchor.default = anchor\n\nexport default anchor\n"],"names":["emittedWarning","position","false","true","after","before","permalinkSymbolMeta","isPermalinkSymbol","legacy","slug","opts","state","idx","warningText","process","emitWarning","console","warn","linkTokens","Object","assign","Token","attrs","permalinkClass","permalinkHref","entries","permalinkAttrs","content","permalinkSymbol","meta","permalinkSpace","tokens","children","permalinkBefore","renderHref","renderAttrs","commonDefaults","class","symbol","makePermalink","renderPermalinkImpl","renderPermalink","defaults","anchorOpts","linkInsideHeader","ariaHidden","space","placement","headerLink","safariReaderFix","linkAfterHeader","includes","style","Error","assistiveText","visuallyHiddenClass","title","filter","token","type","reduce","acc","t","subLinkTokens","linkAttrs","push","splice","uniqueSlug","slugs","failOnNonUnique","startIndex","uniq","i","prototype","hasOwnProperty","call","anchor","md","core","ruler","selection","isLevelSelected","Array","isArray","level","isLevelSelectedNumber","length","Number","tag","substr","attrGet","slugify","uniqueSlugStartIndex","attrSet","tabIndex","permalink","indexOf","callback","s","encodeURIComponent","String","trim","toLowerCase","replace"],"mappings":"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"}