{
  "version": 3,
  "sources": ["../src/index.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"],
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwC;AACxC,oBAA6C;AAC7C,kBAA2C;AAWpC,MAAM,kBAAkB,cAAAA,UAAgB;AAAA,EAb/C,OAa+C;AAAA;AAAA;AAAA,EAC3C,oBAAqB;AACjB,QAAI,CAAC,KAAK,cAAc,wBAAwB,GAAG;AAC/C,WAAK,OAAO;AAAA,IAChB;AAEA,UAAM,kBAAkB;AAAA,EAC5B;AAAA,EAEA,gBAAiB;AACb,UAAM,OAAO,KAAK,cAAc,wBAAwB;AACxD,QAAI,KAAM,QAAO,KAAK,eAAe;AACrC,WAAO,KAAK,eAAe;AAAA,EAC/B;AAAA,EAEA,cAAe;AACX,QAAI,CAAC,KAAK,aAAa,MAAM,EAAG,QAAO;AACvC,UAAM,OAAO,KAAK,aAAa,MAAM;AACrC,QAAI,SAAS,QAAQ,SAAS,MAAM,SAAS,OAAQ,QAAO;AAC5D,QAAI,SAAS,QAAS,QAAO;AAC7B,WAAO;AAAA,EACX;AAAA,EAEA,mBAAoB;AAChB,WAAO,MAAM,KAAK,KAAK,SAAS,EAC3B,KAAK,UAAQ,KAAK,WAAW,WAAW,CAAC,KAAK;AAAA,EACvD;AAAA,EAEA,SAAU;AACN,SAAK,gBAAY,YAAAC,WAAc;AAAA,MAC3B,MAAM,KAAK,cAAc;AAAA,MACzB,UAAU,KAAK,YAAY;AAAA,MAC3B,iBAAiB,KAAK,mBAAmB;AAAA,MACzC,eAAe,KAAK,iBAAiB;AAAA,IACzC,CAAC;AAAA,EACL;AACJ;AAEA,IAAO,gBAAQ;AAER,SAAS,SAAU;AACtB,aAAO,YAAAC,QAAc,UAAU,KAAK,SAAS;AACjD;AAFgB;AAIhB,OAAO;",
  "names": ["CodeBlockClient", "CodeBlockHtml", "defineElement"]
}
