{
  "version": 3,
  "sources": ["../src/index.ts", "../node_modules/@substrate-system/web-component/src/attributes.ts", "../node_modules/@substrate-system/web-component/src/util.ts", "../node_modules/@substrate-system/copy-button/dist/client.js", "../src/constants.ts", "../src/client.ts", "../node_modules/@substrate-system/copy-button/dist/html.js", "../src/html.ts"],
  "sourcesContent": ["import { define as defineElement } from '@substrate-system/web-component/util'\nimport { CodeBlock as CodeBlockClient } from './client.js'\nimport { CodeBlock as CodeBlockHtml } from './html.js'\n\ndeclare global {\n    interface HTMLElementTagNameMap {\n        'code-block':CodeBlock\n    }\n}\n\n/**\n * Browser APIs + rendering logic\n */\nexport class CodeBlock extends CodeBlockClient {\n    connectedCallback () {\n        if (!this.querySelector('[data-code-block-root]')) {\n            this.render()\n        }\n\n        super.connectedCallback()\n    }\n\n    getSourceCode () {\n        const code = this.querySelector('[data-code-block-code]')\n        if (code) return code.textContent ?? ''\n        return this.textContent ?? ''\n    }\n\n    getCopyHint () {\n        if (!this.hasAttribute('hint')) return true\n        const hint = this.getAttribute('hint')\n        if (hint === null || hint === '' || hint === 'true') return true\n        if (hint === 'false') return false\n        return hint\n    }\n\n    getLanguageClass () {\n        return Array.from(this.classList)\n            .find(name => name.startsWith('language-')) ?? ''\n    }\n\n    render () {\n        this.innerHTML = CodeBlockHtml({\n            code: this.getSourceCode(),\n            copyHint: this.getCopyHint(),\n            copyButtonLabel: this.getCopyButtonLabel(),\n            languageClass: this.getLanguageClass()\n        })\n    }\n}\n\nexport default CodeBlock\n\nexport function define () {\n    return defineElement(CodeBlock.TAG, CodeBlock)\n}\n\ndefine()\n", "export type Attrs = Record<string, undefined|null|string|number|boolean|(string|number)[]>\n\n/**\n * Transform an object into an HTML attributes string. The object should be\n * like `{ attributeName: value }`.\n *\n * @param attrs An object for the attributes.\n * @returns {string} A string suitable for use as HTML attributes.\n */\nexport function toAttributes (attrs:Attrs):string {\n    return Object.keys(attrs).reduce((acc, k) => {\n        const value = attrs[k]\n        if (!value) return acc\n\n        if (typeof value === 'boolean') {\n            if (value) return (acc + ` ${k}`).trim()\n            return acc\n        }\n\n        if (Array.isArray(value)) {\n            return (acc + ` ${k}=\"${value.join(' ')}\"`)\n        }\n\n        return (acc + ` ${k}=\"${value}\"`).trim()\n    }, '')\n}\n", "export { toAttributes } from './attributes.js'\n\n/**\n * Check if the given tag name has been registered.\n *\n * @see {@link https://stackoverflow.com/a/28210364 stackoverflow}\n * @param {string} elName The custom element tag name.\n * @returns {boolean} True if the given name has been registered already.\n */\nexport function isRegistered (elName:string):boolean {\n    return document.createElement(elName).constructor !== window.HTMLElement\n}\n\nexport function define (name:string, element:CustomElementConstructor) {\n    if (!window) return\n    if (!('customElements' in window)) return\n\n    if (!isRegistered(name)) {\n        window.customElements.define(name, element)\n    }\n}\n\nexport const qs = document.querySelector.bind(document)\nexport const qsa = document.querySelectorAll.bind(document)\n\n/**\n * Get the closes parent element matching the given selector.\n * @param el Element to start from\n * @param s Selector for an element\n * @returns {HTMLElement|null} The closes parent element that matches.\n */\nexport function match (el:HTMLElement, s:string):HTMLElement|null {\n    if (!el.matches) el = el.parentElement!\n    return el.matches(s) ? el : el.closest(s)\n}\n", "var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// node_modules/@substrate-system/web-component/dist/attributes.js\nvar __defProp2 = Object.defineProperty;\nvar __name2 = /* @__PURE__ */ __name((target, value) => __defProp2(target, \"name\", { value, configurable: true }), \"__name\");\nfunction toAttributes(attrs) {\n  return Object.keys(attrs).reduce((acc, k) => {\n    const value = attrs[k];\n    if (!value) return acc;\n    if (typeof value === \"boolean\") {\n      if (value) return (acc + ` ${k}`).trim();\n      return acc;\n    }\n    if (Array.isArray(value)) {\n      return acc + ` ${k}=\"${value.join(\" \")}\"`;\n    }\n    return (acc + ` ${k}=\"${value}\"`).trim();\n  }, \"\");\n}\n__name(toAttributes, \"toAttributes\");\n__name2(toAttributes, \"toAttributes\");\n\n// node_modules/@substrate-system/web-component/dist/util.js\nvar __defProp3 = Object.defineProperty;\nvar __name3 = /* @__PURE__ */ __name((target, value) => __defProp3(target, \"name\", { value, configurable: true }), \"__name\");\nfunction isRegistered(elName) {\n  return document.createElement(elName).constructor !== window.HTMLElement;\n}\n__name(isRegistered, \"isRegistered\");\n__name3(isRegistered, \"isRegistered\");\nfunction define(name, element) {\n  if (!window) return;\n  if (!(\"customElements\" in window)) return;\n  if (!isRegistered(name)) {\n    window.customElements.define(name, element);\n  }\n}\n__name(define, \"define\");\n__name3(define, \"define\");\nvar qs = document.querySelector.bind(document);\nvar qsa = document.querySelectorAll.bind(document);\nfunction match(el, s) {\n  if (!el.matches) el = el.parentElement;\n  return el.matches(s) ? el : el.closest(s);\n}\n__name(match, \"match\");\n__name3(match, \"match\");\n\n// src/clipboard-copy.ts\nfunction makeError() {\n  return new DOMException(\"The request is not allowed\", \"NotAllowedError\");\n}\n__name(makeError, \"makeError\");\nasync function copyClipboardApi(text) {\n  if (!navigator.clipboard) {\n    throw makeError();\n  }\n  return navigator.clipboard.writeText(text);\n}\n__name(copyClipboardApi, \"copyClipboardApi\");\nasync function copyExecCommand(text) {\n  const span = document.createElement(\"span\");\n  span.textContent = text;\n  span.style.whiteSpace = \"pre\";\n  span.style.webkitUserSelect = \"auto\";\n  span.style.userSelect = \"all\";\n  document.body.appendChild(span);\n  const selection = window.getSelection();\n  const range = window.document.createRange();\n  selection?.removeAllRanges();\n  range.selectNode(span);\n  selection?.addRange(range);\n  let success = false;\n  try {\n    success = window.document.execCommand(\"copy\");\n  } finally {\n    selection?.removeAllRanges();\n    window.document.body.removeChild(span);\n  }\n  if (!success) throw makeError();\n}\n__name(copyExecCommand, \"copyExecCommand\");\nasync function clipboardCopy(text) {\n  try {\n    await copyClipboardApi(text);\n  } catch (err) {\n    try {\n      await copyExecCommand(text);\n    } catch (err2) {\n      throw err2 || err || makeError();\n    }\n  }\n}\n__name(clipboardCopy, \"clipboardCopy\");\nvar clipboard_copy_default = clipboardCopy;\n\n// src/html.ts\nfunction CopyButton(options) {\n  let classes;\n  let hint;\n  if (Array.isArray(options)) {\n    classes = options;\n  } else if (options) {\n    classes = options.classes;\n    hint = options.hint;\n  }\n  const classString = (classes || []).concat([\"copy-button\"]).filter(Boolean).join(\" \");\n  let hintHtml = \"\";\n  if (hint !== void 0 && hint !== false) {\n    const hintText = hint === true || hint === \"\" ? \"Copied\" : hint;\n    hintHtml = `<span popover=\"manual\" class=\"copy-hint\" role=\"status\" aria-live=\"polite\">${hintText}</span>`;\n  }\n  return `<button aria-label=\"Copy\" ${classString ? `class=\"${classString}\"` : \"\"}>\n        ${CopySvg()}\n        <span class=\"visually-hidden\">Copy</span>\n    </button>${hintHtml}`;\n}\n__name(CopyButton, \"CopyButton\");\nCopyButton.outerHTML = (options, attrs = {}) => {\n  const attributes = toAttributes(attrs);\n  return `<copy-button${attributes.length ? ` ${attributes}` : \"\"}>\n        ${CopyButton(options)}\n    </copy-button>`;\n};\nfunction CopySvg() {\n  return `<span class=\"copy-wrapper\">\n        <svg\n            aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\"\n            focusable=\"false\"\n            width=\"16\" class=\"copy-svg\"\n        >\n            <path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path>\n        </svg>\n    </span>`;\n}\n__name(CopySvg, \"CopySvg\");\nfunction SuccessSvg() {\n  return `<span class=\"success-wrapper\">\n        <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\"\n            width=\"16\"\n            class=\"success-svg\"\n            focusable=\"false\"\n        >\n            <path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path>\n        </svg>\n    </span>`;\n}\n__name(SuccessSvg, \"SuccessSvg\");\n\n// src/client.ts\nvar CopyButtonClient = class extends HTMLElement {\n  static {\n    __name(this, \"CopyButtonClient\");\n  }\n  static TAG = \"copy-button\";\n  static observedAttributes = [\"payload\"];\n  payload;\n  hintTimeoutId;\n  static define = define2;\n  constructor() {\n    super();\n    const payload = this.getAttribute(\"payload\");\n    this.payload = payload;\n  }\n  /**\n   * We are only observing 1 attribute, so `name` will always be 'payload'.\n   */\n  attributeChangedCallback(_name, _oldValue, newValue) {\n    this.payload = newValue;\n  }\n  async clickListener() {\n    if (!this.payload) return;\n    const dur = this.getAttribute(\"duration\");\n    const time = dur ? parseInt(dur) : 2e3;\n    try {\n      await clipboard_copy_default(this.payload);\n    } catch (err) {\n      console.error(\"Copy failed:\", err);\n      return;\n    }\n    this.dispatchEvent(new CustomEvent(\"copy\", {\n      bubbles: true,\n      detail: { text: this.payload }\n    }));\n    const button = this.querySelector(\"button\");\n    if (!button) {\n      console.warn(\"CopyButtonClient: No button element found for state updates\");\n      return;\n    }\n    button.classList.add(\"copy-success\");\n    button.setAttribute(\"data-state\", \"success\");\n    button.innerHTML = `${SuccessSvg()}`;\n    if (this.hasAttribute(\"hint\")) {\n      this.showHint(time);\n    }\n    await sleep(time);\n    button.classList.remove(\"copy-success\");\n    button.setAttribute(\"data-state\", \"default\");\n    button.innerHTML = `${CopySvg()}`;\n  }\n  showHint(duration) {\n    const hint = this.querySelector(\".copy-hint\");\n    if (!hint) return;\n    if (this.hintTimeoutId) {\n      clearTimeout(this.hintTimeoutId);\n    }\n    hint.classList.add(\"copy-hint--visible\");\n    this.hintTimeoutId = window.setTimeout(() => {\n      hint.classList.remove(\"copy-hint--visible\");\n      this.hintTimeoutId = void 0;\n    }, duration);\n  }\n  disconnectedCallback() {\n    if (this.hintTimeoutId) {\n      clearTimeout(this.hintTimeoutId);\n    }\n    this.removeEventListener(\"click\", this.clickListener);\n  }\n  connectedCallback() {\n    this.render();\n    this.addEventListener(\"click\", this.clickListener);\n  }\n  render() {\n  }\n};\nvar client_default = CopyButtonClient;\nfunction define2() {\n  return define(\"copy-button\", CopyButtonClient);\n}\n__name(define2, \"define\");\nfunction sleep(n) {\n  return new Promise((resolve) => setTimeout(resolve, n));\n}\n__name(sleep, \"sleep\");\nexport {\n  CopyButtonClient,\n  client_default as default,\n  define2 as define\n};\n", "export const DEFAULT_COPY_BUTTON_LABEL = 'Copy code to clipboard'\n", "import { define as defineElement } from '@substrate-system/web-component/util'\nimport {\n    define as defineCopyButton\n} from '@substrate-system/copy-button/client'\nimport { DEFAULT_COPY_BUTTON_LABEL } from './constants.js'\n\ndefineCopyButton()\n\n/**\n * This one does not know how to render itself. Should be used in\n * conjunction with server-side rendered HTML.\n */\nexport class CodeBlock extends HTMLElement {\n    static TAG = 'code-block'\n    static observedAttributes = ['copy-button-label']\n\n    codeEl:HTMLElement|null\n    copyButtonEl:HTMLElement|null\n    codeObserver:MutationObserver|null\n    buttonObserver:MutationObserver|null\n\n    constructor () {\n        super()\n        this.codeEl = null\n        this.copyButtonEl = null\n        this.codeObserver = null\n        this.buttonObserver = null\n    }\n\n    attributeChangedCallback (\n        name:string,\n        _oldValue:string|null,\n        _newValue:string|null\n    ):void {\n        if (name === 'copy-button-label') this.applyIconButtonA11y()\n    }\n\n    disconnectedCallback ():void {\n        this.codeObserver?.disconnect()\n        this.buttonObserver?.disconnect()\n        this.codeObserver = null\n        this.buttonObserver = null\n    }\n\n    connectedCallback ():void {\n        this.hydrate()\n    }\n\n    hydrate ():void {\n        this.codeEl = this.querySelector('[data-code-block-code]')\n        this.copyButtonEl = this.querySelector(\n            'copy-button[data-code-block-copy]'\n        )\n        this.observeCode()\n        this.observeCopyButton()\n        this.syncPayload()\n        this.applyIconButtonA11y()\n    }\n\n    observeCode ():void {\n        this.codeObserver?.disconnect()\n        if (!this.codeEl) return\n\n        const observer = new MutationObserver(() => {\n            this.syncPayload()\n        })\n\n        observer.observe(this.codeEl, {\n            childList: true,\n            characterData: true,\n            subtree: true\n        })\n\n        this.codeObserver = observer\n    }\n\n    observeCopyButton ():void {\n        this.buttonObserver?.disconnect()\n        if (!this.copyButtonEl) return\n\n        const observer = new MutationObserver(() => {\n            this.applyIconButtonA11y()\n        })\n\n        observer.observe(this.copyButtonEl, {\n            childList: true,\n            subtree: true\n        })\n\n        this.buttonObserver = observer\n    }\n\n    syncPayload ():void {\n        if (!this.copyButtonEl || !this.codeEl) return\n        const payload = this.codeEl.textContent ?? ''\n        this.copyButtonEl.setAttribute('payload', payload)\n\n        const iconButton = this.copyButtonEl.querySelector('button') as\n            (HTMLButtonElement|null)\n        if (iconButton) iconButton.disabled = payload.length === 0\n    }\n\n    getCopyButtonLabel ():string {\n        const label = this.getAttribute('copy-button-label')\n        return label?.trim() || DEFAULT_COPY_BUTTON_LABEL\n    }\n\n    applyIconButtonA11y ():void {\n        if (!this.copyButtonEl) return\n        const iconButton = this.copyButtonEl.querySelector('button')\n        if (!iconButton) return\n\n        const label = this.getCopyButtonLabel()\n        iconButton.setAttribute('type', 'button')\n        iconButton.setAttribute('aria-label', label)\n        iconButton.setAttribute('title', label)\n    }\n}\n\nexport default CodeBlock\n\nexport function define () {\n    return defineElement(CodeBlock.TAG, CodeBlock)\n}\n", "var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// node_modules/@substrate-system/web-component/dist/attributes.js\nvar __defProp2 = Object.defineProperty;\nvar __name2 = /* @__PURE__ */ __name((target, value) => __defProp2(target, \"name\", { value, configurable: true }), \"__name\");\nfunction toAttributes(attrs) {\n  return Object.keys(attrs).reduce((acc, k) => {\n    const value = attrs[k];\n    if (!value) return acc;\n    if (typeof value === \"boolean\") {\n      if (value) return (acc + ` ${k}`).trim();\n      return acc;\n    }\n    if (Array.isArray(value)) {\n      return acc + ` ${k}=\"${value.join(\" \")}\"`;\n    }\n    return (acc + ` ${k}=\"${value}\"`).trim();\n  }, \"\");\n}\n__name(toAttributes, \"toAttributes\");\n__name2(toAttributes, \"toAttributes\");\n\n// src/html.ts\nfunction CopyButton(options) {\n  let classes;\n  let hint;\n  if (Array.isArray(options)) {\n    classes = options;\n  } else if (options) {\n    classes = options.classes;\n    hint = options.hint;\n  }\n  const classString = (classes || []).concat([\"copy-button\"]).filter(Boolean).join(\" \");\n  let hintHtml = \"\";\n  if (hint !== void 0 && hint !== false) {\n    const hintText = hint === true || hint === \"\" ? \"Copied\" : hint;\n    hintHtml = `<span popover=\"manual\" class=\"copy-hint\" role=\"status\" aria-live=\"polite\">${hintText}</span>`;\n  }\n  return `<button aria-label=\"Copy\" ${classString ? `class=\"${classString}\"` : \"\"}>\n        ${CopySvg()}\n        <span class=\"visually-hidden\">Copy</span>\n    </button>${hintHtml}`;\n}\n__name(CopyButton, \"CopyButton\");\nCopyButton.outerHTML = (options, attrs = {}) => {\n  const attributes = toAttributes(attrs);\n  return `<copy-button${attributes.length ? ` ${attributes}` : \"\"}>\n        ${CopyButton(options)}\n    </copy-button>`;\n};\nfunction CopySvg() {\n  return `<span class=\"copy-wrapper\">\n        <svg\n            aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\"\n            focusable=\"false\"\n            width=\"16\" class=\"copy-svg\"\n        >\n            <path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path>\n        </svg>\n    </span>`;\n}\n__name(CopySvg, \"CopySvg\");\nfunction SuccessSvg() {\n  return `<span class=\"success-wrapper\">\n        <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\"\n            width=\"16\"\n            class=\"success-svg\"\n            focusable=\"false\"\n        >\n            <path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path>\n        </svg>\n    </span>`;\n}\n__name(SuccessSvg, \"SuccessSvg\");\nexport {\n  CopyButton,\n  CopySvg,\n  SuccessSvg\n};\n", "import { CopyButton } from '@substrate-system/copy-button/html'\nimport { DEFAULT_COPY_BUTTON_LABEL } from './constants.js'\n\nexport interface CodeBlockOptions {\n    code?:string\n    copyHint?:string|boolean\n    copyButtonLabel?:string\n    classes?:string[]\n    languageClass?:string\n}\n\ntype AttrValue = string|number|boolean|string[]|null|undefined\ntype CodeBlockRenderer = ((options?:CodeBlockOptions) => string) & {\n    outerHTML: (\n        options?:CodeBlockOptions,\n        attrs?:Record<string, AttrValue>\n    ) => string\n}\n\nfunction escapeHtml (str:string) {\n    return str\n        .replaceAll('&', '&amp;')\n        .replaceAll('<', '&lt;')\n        .replaceAll('>', '&gt;')\n        .replaceAll('\"', '&quot;')\n        .replaceAll(\"'\", '&#39;')\n}\n\nfunction toSafeAttributes (attrs:Record<string, AttrValue>) {\n    return Object.keys(attrs).reduce((result, key) => {\n        const value = attrs[key]\n        if (!value) return result\n        if (typeof value === 'boolean') {\n            return value ? `${result} ${key}`.trim() : result\n        }\n        const text = Array.isArray(value) ? value.join(' ') : String(value)\n        return `${result} ${key}=\"${escapeHtml(text)}\"`.trim()\n    }, '')\n}\n\nfunction getLanguageClassFromList (classNames:string[]) {\n    return classNames.find(name => name.startsWith('language-')) ?? ''\n}\n\nfunction getLanguageClassFromAttrs (attrs:Record<string, AttrValue>) {\n    const classValue = attrs.class\n    if (typeof classValue === 'string') {\n        return getLanguageClassFromList(\n            classValue.split(/\\s+/).filter(Boolean)\n        )\n    }\n    if (Array.isArray(classValue)) {\n        return getLanguageClassFromList(classValue)\n    }\n    return ''\n}\n\nfunction toCopyButtonMarkup (\n    code:string,\n    hint:string|boolean,\n    label:string\n) {\n    const attrs = toSafeAttributes({\n        'data-code-block-copy': true,\n        payload: code,\n        hint: hint !== false\n    })\n\n    const button = CopyButton({\n        classes: ['code-block-copy-icon'],\n        hint: typeof hint === 'string' ? escapeHtml(hint) : hint\n    }).replace(\n        'aria-label=\"Copy\"',\n        `aria-label=\"${escapeHtml(label)}\"`\n    )\n\n    return `<copy-button ${attrs}>${button}</copy-button>`\n}\n\nexport const CodeBlock:CodeBlockRenderer = (options:CodeBlockOptions = {}) => {\n    const code = options.code ?? ''\n    const hint = options.copyHint ?? true\n    const wrapperClasses = ['code-block-inner']\n        .concat(options.classes ?? [])\n        .filter(Boolean)\n        .join(' ')\n    const languageClass = (\n        options.languageClass ??\n        (options.classes ?? []).find(name => name.startsWith('language-')) ??\n        ''\n    ).trim()\n    const preClasses = [\n        'code-block-pre',\n        languageClass\n    ].filter(Boolean).join(' ')\n    const codeClasses = [languageClass].filter(Boolean).join(' ')\n    const label = options.copyButtonLabel?.trim() ||\n        DEFAULT_COPY_BUTTON_LABEL\n    const safeCode = escapeHtml(code)\n    const codeClassAttr = codeClasses\n        ? ` class=\"${escapeHtml(codeClasses)}\"`\n        : ''\n    const preMarkup = (\n        `<pre class=\"${escapeHtml(preClasses)}\" tabindex=\"0\">` +\n        `<code data-code-block-code${codeClassAttr}>${safeCode}</code></pre>`\n    )\n\n    return `<div class=\"${escapeHtml(wrapperClasses)}\" data-code-block-root>\n        ${preMarkup}\n        <div class=\"code-block-controls\">\n            ${toCopyButtonMarkup(code, hint, label)}\n        </div>\n        <span class=\"visually-hidden\" data-code-block-live ` +\n        `aria-live=\"polite\"></span>\n    </div>`\n}\n\nCodeBlock.outerHTML = (\n    options:CodeBlockOptions = {},\n    attrs:Record<string, AttrValue> = {}\n) => {\n    const hostAttributes = toSafeAttributes(attrs)\n    const rendered = CodeBlock({\n        ...options,\n        languageClass: options.languageClass ??\n            getLanguageClassFromAttrs(attrs)\n    })\n\n    return `<code-block${hostAttributes.length ? ` ${hostAttributes}` : ''}>\n        ${rendered}\n    </code-block>`\n}\n"],
  "mappings": "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",
  "names": ["index_exports", "__export", "CodeBlock", "index_default", "define", "__toCommonJS", "toAttributes", "attrs", "acc", "k", "value", "__name", "isRegistered", "elName", "__name", "define", "name", "element", "qs", "qsa", "match", "el", "s", "__defProp", "__name", "target", "value", "__defProp2", "__name2", "toAttributes", "attrs", "acc", "k", "__defProp3", "__name3", "isRegistered", "elName", "define", "name", "element", "qs", "qsa", "match", "el", "s", "makeError", "copyClipboardApi", "text", "copyExecCommand", "span", "selection", "range", "success", "clipboardCopy", "err", "err2", "clipboard_copy_default", "CopyButton", "options", "classes", "hint", "classString", "hintHtml", "CopySvg", "attributes", "SuccessSvg", "CopyButtonClient", "define2", "payload", "_name", "_oldValue", "newValue", "dur", "time", "button", "sleep", "duration", "define2", "define", "CopyButtonClient", "__name", "sleep", "n", "resolve", "DEFAULT_COPY_BUTTON_LABEL", "define2", "CodeBlock", "__name", "name", "_oldValue", "_newValue", "observer", "payload", "iconButton", "DEFAULT_COPY_BUTTON_LABEL", "label", "__defProp", "__name", "target", "value", "__defProp2", "__name2", "toAttributes", "attrs", "acc", "k", "CopyButton", "options", "classes", "hint", "classString", "hintHtml", "CopySvg", "attributes", "SuccessSvg", "escapeHtml", "str", "__name", "toSafeAttributes", "attrs", "result", "key", "value", "text", "getLanguageClassFromList", "classNames", "name", "getLanguageClassFromAttrs", "classValue", "toCopyButtonMarkup", "code", "hint", "label", "button", "CopyButton", "CodeBlock", "options", "wrapperClasses", "languageClass", "preClasses", "codeClasses", "DEFAULT_COPY_BUTTON_LABEL", "safeCode", "codeClassAttr", "preMarkup", "hostAttributes", "rendered", "CodeBlock", "__name", "code", "hint", "name", "index_default", "define"]
}
