UNPKG

@blackbaud/skyux-lib-code-block

Version:

This library was generated with [Nx](https://nx.dev).

502 lines (493 loc) 32.9 kB
import * as i2 from '@angular/common'; import { CommonModule } from '@angular/common'; import * as i0 from '@angular/core'; import { NgModule, ElementRef, ViewChild, Input, Component, ChangeDetectionStrategy } from '@angular/core'; import * as i3 from '@blackbaud/skyux-lib-clipboard'; import { SkyClipboardModule } from '@blackbaud/skyux-lib-clipboard'; import * as i4 from '@skyux/i18n'; import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n'; import Prism from 'prismjs'; import 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace'; import 'prismjs/components/prism-abap.min'; import 'prismjs/components/prism-actionscript.min'; import 'prismjs/components/prism-ada.min'; import 'prismjs/components/prism-apacheconf.min'; import 'prismjs/components/prism-apl.min'; import 'prismjs/components/prism-applescript.min'; import 'prismjs/components/prism-arff.min'; import 'prismjs/components/prism-asciidoc.min'; import 'prismjs/components/prism-asm6502.min'; import 'prismjs/components/prism-aspnet.min'; import 'prismjs/components/prism-autohotkey.min'; import 'prismjs/components/prism-autoit.min'; import 'prismjs/components/prism-bash.min'; import 'prismjs/components/prism-basic.min'; import 'prismjs/components/prism-batch.min'; import 'prismjs/components/prism-c.min'; import 'prismjs/components/prism-bison.min'; import 'prismjs/components/prism-brainfuck.min'; import 'prismjs/components/prism-bro.min'; import 'prismjs/components/prism-clike.min'; import 'prismjs/components/prism-clojure.min'; import 'prismjs/components/prism-coffeescript.min'; import 'prismjs/components/prism-cpp.min'; import 'prismjs/components/prism-arduino.min'; import 'prismjs/components/prism-csharp.min'; import 'prismjs/components/prism-csp.min'; import 'prismjs/components/prism-css.min'; import 'prismjs/components/prism-css-extras.min'; import 'prismjs/components/prism-d.min'; import 'prismjs/components/prism-dart.min'; import 'prismjs/components/prism-diff.min'; import 'prismjs/components/prism-docker.min'; import 'prismjs/components/prism-eiffel.min'; import 'prismjs/components/prism-elixir.min'; import 'prismjs/components/prism-elm.min'; import 'prismjs/components/prism-erb.min'; import 'prismjs/components/prism-erlang.min'; import 'prismjs/components/prism-flow.min'; import 'prismjs/components/prism-fortran.min'; import 'prismjs/components/prism-fsharp.min'; import 'prismjs/components/prism-gedcom.min'; import 'prismjs/components/prism-gherkin.min'; import 'prismjs/components/prism-git.min'; import 'prismjs/components/prism-glsl.min'; import 'prismjs/components/prism-go.min'; import 'prismjs/components/prism-graphql.min'; import 'prismjs/components/prism-groovy.min'; import 'prismjs/components/prism-haml.min'; import 'prismjs/components/prism-handlebars.min'; import 'prismjs/components/prism-haskell.min'; import 'prismjs/components/prism-haxe.min'; import 'prismjs/components/prism-hpkp.min'; import 'prismjs/components/prism-hsts.min'; import 'prismjs/components/prism-http.min'; import 'prismjs/components/prism-ichigojam.min'; import 'prismjs/components/prism-icon.min'; import 'prismjs/components/prism-inform7.min'; import 'prismjs/components/prism-ini.min'; import 'prismjs/components/prism-io.min'; import 'prismjs/components/prism-j.min'; import 'prismjs/components/prism-java.min'; import 'prismjs/components/prism-javascript.min'; import 'prismjs/components/prism-jolie.min'; import 'prismjs/components/prism-json.min'; import 'prismjs/components/prism-jsx.min'; import 'prismjs/components/prism-julia.min'; import 'prismjs/components/prism-keyman.min'; import 'prismjs/components/prism-kotlin.min'; import 'prismjs/components/prism-latex.min'; import 'prismjs/components/prism-less.min'; import 'prismjs/components/prism-liquid.min'; import 'prismjs/components/prism-lisp.min'; import 'prismjs/components/prism-livescript.min'; import 'prismjs/components/prism-lolcode.min'; import 'prismjs/components/prism-lua.min'; import 'prismjs/components/prism-makefile.min'; import 'prismjs/components/prism-markdown.min'; import 'prismjs/components/prism-markup.min'; import 'prismjs/components/prism-markup-templating.min'; import 'prismjs/components/prism-django.min'; import 'prismjs/components/prism-matlab.min'; import 'prismjs/components/prism-mel.min'; import 'prismjs/components/prism-mizar.min'; import 'prismjs/components/prism-monkey.min'; import 'prismjs/components/prism-n4js.min'; import 'prismjs/components/prism-nasm.min'; import 'prismjs/components/prism-nginx.min'; import 'prismjs/components/prism-nim.min'; import 'prismjs/components/prism-nix.min'; import 'prismjs/components/prism-nsis.min'; import 'prismjs/components/prism-objectivec.min'; import 'prismjs/components/prism-ocaml.min'; import 'prismjs/components/prism-opencl.min'; import 'prismjs/components/prism-oz.min'; import 'prismjs/components/prism-parigp.min'; import 'prismjs/components/prism-parser.min'; import 'prismjs/components/prism-pascal.min'; import 'prismjs/components/prism-perl.min'; import 'prismjs/components/prism-php.min'; import 'prismjs/components/prism-php-extras.min'; import 'prismjs/components/prism-powershell.min'; import 'prismjs/components/prism-processing.min'; import 'prismjs/components/prism-prolog.min'; import 'prismjs/components/prism-properties.min'; import 'prismjs/components/prism-protobuf.min'; import 'prismjs/components/prism-pug.min'; import 'prismjs/components/prism-puppet.min'; import 'prismjs/components/prism-pure.min'; import 'prismjs/components/prism-python.min'; import 'prismjs/components/prism-q.min'; import 'prismjs/components/prism-qore.min'; import 'prismjs/components/prism-r.min'; import 'prismjs/components/prism-reason.min'; import 'prismjs/components/prism-renpy.min'; import 'prismjs/components/prism-rest.min'; import 'prismjs/components/prism-rip.min'; import 'prismjs/components/prism-roboconf.min'; import 'prismjs/components/prism-ruby.min'; import 'prismjs/components/prism-crystal.min'; import 'prismjs/components/prism-rust.min'; import 'prismjs/components/prism-sas.min'; import 'prismjs/components/prism-sass.min'; import 'prismjs/components/prism-scala.min'; import 'prismjs/components/prism-scheme.min'; import 'prismjs/components/prism-scss.min'; import 'prismjs/components/prism-smalltalk.min'; import 'prismjs/components/prism-smarty.min'; import 'prismjs/components/prism-soy.min'; import 'prismjs/components/prism-sql.min'; import 'prismjs/components/prism-plsql.min'; import 'prismjs/components/prism-stylus.min'; import 'prismjs/components/prism-swift.min'; import 'prismjs/components/prism-tap.min'; import 'prismjs/components/prism-tcl.min'; import 'prismjs/components/prism-textile.min'; import 'prismjs/components/prism-tsx.min'; import 'prismjs/components/prism-tt2.min'; import 'prismjs/components/prism-twig.min'; import 'prismjs/components/prism-typescript.min'; import 'prismjs/components/prism-vbnet.min'; import 'prismjs/components/prism-velocity.min'; import 'prismjs/components/prism-verilog.min'; import 'prismjs/components/prism-vhdl.min'; import 'prismjs/components/prism-vim.min'; import 'prismjs/components/prism-visual-basic.min'; import 'prismjs/components/prism-wasm.min'; import 'prismjs/components/prism-wiki.min'; import 'prismjs/components/prism-xeora.min'; import 'prismjs/components/prism-xojo.min'; import 'prismjs/components/prism-xquery.min'; import 'prismjs/components/prism-yaml.min'; import * as i1 from '@angular/platform-browser'; /* istanbul ignore file */ /** * NOTICE: DO NOT MODIFY THIS FILE! * The contents of this file were automatically generated by * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-code-block' schematic. * To update this file, simply rerun the command. */ const RESOURCES = { 'EN-US': { sky_copy_to_clipboard_button_title: { message: 'Copy to clipboard' }, sky_copy_to_clipboard_button: { message: 'Copy' }, sky_copy_to_clipboard_button_success: { message: 'Copied!' }, }, }; SkyLibResourcesService.addResources(RESOURCES); /** * Import into any component library module that needs to use resource strings. */ class SkyCodeBlockResourcesModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockResourcesModule, exports: [SkyI18nModule] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockResourcesModule, imports: [SkyI18nModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockResourcesModule, decorators: [{ type: NgModule, args: [{ exports: [SkyI18nModule], }] }] }); const prismLanguages = { properties: '.properties', asm6502: '6502 Assembly', abap: 'ABAP', apl: 'APL', arff: 'ARFF', aspnet: 'ASP.NET (C#)', actionscript: 'ActionScript', ada: 'Ada', apacheconf: 'Apache Configuration', applescript: 'AppleScript', arduino: 'Arduino', asciidoc: 'AsciiDoc', autohotkey: 'AutoHotkey', autoit: 'AutoIt', basic: 'BASIC', bash: 'Bash', batch: 'Batch', bison: 'Bison', brainfuck: 'Brainfuck', bro: 'Bro', c: 'C', csharp: 'C#', cpp: 'C++', clike: 'C-like', css: 'CSS', 'css-extras': 'CSS Extras', clojure: 'Clojure', coffeescript: 'CoffeeScript', csp: 'Content-Security-Policy', crystal: 'Crystal', d: 'D', dart: 'Dart', diff: 'Diff', django: 'Django/Jinja2', docker: 'Docker', erb: 'ERB', eiffel: 'Eiffel', elixir: 'Elixir', elm: 'Elm', erlang: 'Erlang', fsharp: 'F#', flow: 'Flow', fortran: 'Fortran', gedcom: 'GEDCOM', glsl: 'GLSL', gml: 'GameMaker Language', gherkin: 'Gherkin', git: 'Git', go: 'Go', graphql: 'GraphQL', groovy: 'Groovy', http: 'HTTP', hpkp: 'HTTP Public-Key-Pins', hsts: 'HTTP Strict-Transport-Security', haml: 'Haml', handlebars: 'Handlebars', haskell: 'Haskell', haxe: 'Haxe', ichigojam: 'IchigoJam', icon: 'Icon', inform7: 'Inform 7', ini: 'Ini', io: 'Io', j: 'J', json: 'JSON', java: 'Java', javascript: 'JavaScript', js: 'JavaScript', jolie: 'Jolie', julia: 'Julia', keyman: 'Keyman', kotlin: 'Kotlin', lolcode: 'LOLCODE', latex: 'LaTeX', less: 'Less', liquid: 'Liquid', lisp: 'Lisp', livescript: 'LiveScript', lua: 'Lua', matlab: 'MATLAB', mel: 'MEL', makefile: 'Makefile', markdown: 'Markdown', markup: 'Markup', 'markup-templating': 'Markup templating', mizar: 'Mizar', monkey: 'Monkey', n4js: 'N4JS', nasm: 'NASM', nsis: 'NSIS', nim: 'Nim', nix: 'Nix', ocaml: 'OCaml', objectivec: 'Objective-C', opencl: 'OpenCL', oz: 'Oz', parigp: 'PARI/GP', php: 'PHP', 'php-extras': 'PHP Extras', plsql: 'PL/SQL', parser: 'Parser', pascal: 'Pascal', perl: 'Perl', powershell: 'PowerShell', processing: 'Processing', prolog: 'Prolog', protobuf: 'Protocol Buffers', pug: 'Pug', puppet: 'Puppet', pure: 'Pure', python: 'Python', q: 'Q (kdb+ database)', qore: 'Qore', r: 'R', jsx: 'React JSX', tsx: 'React TSX', reason: 'Reason', renpy: "Ren'py", rip: 'Rip', roboconf: 'Roboconf', ruby: 'Ruby', rust: 'Rust', sas: 'SAS', sql: 'SQL', sass: 'Sass (Sass)', scss: 'Sass (Scss)', scala: 'Scala', scheme: 'Scheme', smalltalk: 'Smalltalk', smarty: 'Smarty', soy: 'Soy (Closure Template)', stylus: 'Stylus', swift: 'Swift', tap: 'TAP', tcl: 'Tcl', tt2: 'Template Toolkit 2', textile: 'Textile', twig: 'Twig', typescript: 'TypeScript', vbnet: 'VB.Net', vhdl: 'VHDL', velocity: 'Velocity', verilog: 'Verilog', 'visual-basic': 'Visual Basic', wasm: 'WebAssembly', wiki: 'Wiki markup', xquery: 'XQuery', xeora: 'Xeora', xojo: 'Xojo (REALbasic)', yaml: 'YAML', nginx: 'nginx', rest: 'reST (reStructuredText)', vim: 'vim', }; const DEFAULT_LANGUAGE = 'markup'; class SkyCodeBlockComponent { set code(value) { if (value !== this.#_code) { this.#_code = value; this.#updateCodeBlockDisplay(); } } get code() { return this.#_code; } set languageType(value) { if (value && this.#validLanguages.indexOf(value) > -1) { this.#_languageType = value; } else { this.#_languageType = DEFAULT_LANGUAGE; } this.#setDisplayName(value); this.#updateCodeBlockClassName(); } get languageType() { return this.#_languageType; } #_code; #_languageType; #changeDetector; #sanitizer; #validLanguages; constructor(changeDetector, sanitizer) { this.hideCopyToClipboard = false; this.#_languageType = DEFAULT_LANGUAGE; this.#changeDetector = changeDetector; this.#sanitizer = sanitizer; this.#validLanguages = Object.keys(Prism.languages); // Create an empty SafeHtml value on init since output cannot be undefined. this.output = sanitizer.bypassSecurityTrustHtml(''); } ngAfterViewInit() { this.#updateCodeBlockClassName(); this.#updateCodeBlockDisplay(); } ngOnChanges(changes) { if (changes['fileName'] || changes['hideCopyToClipboard'] || changes['hideHeader']) { this.#updateHeaderVisibility(); } } #updateHeaderVisibility() { this.hideHeader = this.hideHeader || (!this.displayName && !this.fileName && this.hideCopyToClipboard); } #updateCodeBlockClassName() { this.codeBlockClassName = `language-${this.languageType}`; this.#changeDetector.markForCheck(); } #setDisplayName(value = '') { this.displayName = value ? prismLanguages[value] : undefined; this.#changeDetector.markForCheck(); } #formatCode(code) { return Prism.plugins['NormalizeWhitespace'].normalize(code, { 'remove-trailing': true, 'remove-indent': true, 'left-trim': true, 'right-trim': true, indent: 0, 'remove-initial-line-feed': true, 'tabs-to-spaces': 2, }); } #highlightCode(code) { return Prism.highlight(code, Prism.languages[this.languageType], this.languageType); } #updateCodeBlockDisplay() { if (this.codeTemplateRef) { const textContent = this.codeTemplateRef.nativeElement.textContent; let code = this.code || textContent; if (code) { code = this.#formatCode(code); code = this.#highlightCode(code); } this.output = this.#sanitizer.bypassSecurityTrustHtml(code); this.#changeDetector.detectChanges(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: SkyCodeBlockComponent, isStandalone: false, selector: "sky-code-block", inputs: { code: "code", fileName: "fileName", languageType: "languageType", hideCopyToClipboard: "hideCopyToClipboard", hideHeader: "hideHeader" }, viewQueries: [{ propertyName: "codeTemplateRef", first: true, predicate: ["codeFromContent"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-code-block\">\n @if (!hideHeader) {\n <div class=\"sky-code-block-header\">\n <div>\n @if (fileName) {\n <span class=\"sky-emphasized sky-margin-inline-default\">\n {{ fileName }}\n </span>\n }\n @if (displayName) {\n <span class=\"sky-deemphasized\">\n {{ displayName }}\n </span>\n }\n </div>\n @if (!hideCopyToClipboard) {\n <sky-copy-to-clipboard\n [buttonText]=\"'sky_copy_to_clipboard_button' | skyLibResources\"\n [buttonClickedText]=\"\n 'sky_copy_to_clipboard_button_success' | skyLibResources\n \"\n [copyTarget]=\"skyCodeOutput\"\n />\n }\n </div>\n }\n <div #codeFromContent class=\"sky-code-input\">\n <ng-content />\n </div>\n <div>\n <pre #skyCodeOutput class=\"sky-code-output\"><code\n [ngClass]=\"codeBlockClassName\"\n [innerHTML]=\"output\"></code></pre>\n </div>\n</div>\n", styles: ["::ng-deep code[class*=language-],pre[class*=language-]{text-shadow:0 1px var(--sky-color-text-inverse, white);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}::ng-deep code[class*=language-] .token.comment,::ng-deep code[class*=language-] .token.prolog,::ng-deep code[class*=language-] .token.doctype,::ng-deep code[class*=language-] .token.cdata,pre[class*=language-] .token.comment,pre[class*=language-] .token.prolog,pre[class*=language-] .token.doctype,pre[class*=language-] .token.cdata{color:#5f6c79}::ng-deep code[class*=language-] .token.punctuation,pre[class*=language-] .token.punctuation{color:#5f6c79}::ng-deep code[class*=language-] .namespace,pre[class*=language-] .namespace{color:#10776e}::ng-deep code[class*=language-] .token.property,::ng-deep code[class*=language-] .token.tag,::ng-deep code[class*=language-] .token.boolean,::ng-deep code[class*=language-] .token.number,::ng-deep code[class*=language-] .token.constant,::ng-deep code[class*=language-] .token.symbol,::ng-deep code[class*=language-] .token.deleted,pre[class*=language-] .token.property,pre[class*=language-] .token.tag,pre[class*=language-] .token.boolean,pre[class*=language-] .token.number,pre[class*=language-] .token.constant,pre[class*=language-] .token.symbol,pre[class*=language-] .token.deleted{color:#c50028}::ng-deep code[class*=language-] .token.selector,::ng-deep code[class*=language-] .token.attr-name,::ng-deep code[class*=language-] .token.string,::ng-deep code[class*=language-] .token.char,::ng-deep code[class*=language-] .token.builtin,::ng-deep code[class*=language-] .token.inserted,pre[class*=language-] .token.selector,pre[class*=language-] .token.attr-name,pre[class*=language-] .token.string,pre[class*=language-] .token.char,pre[class*=language-] .token.builtin,pre[class*=language-] .token.inserted{color:#627932}::ng-deep code[class*=language-] .token.operator,::ng-deep code[class*=language-] .token.entity,::ng-deep code[class*=language-] .token.url,::ng-deep code[class*=language-] .language-css .token.string,::ng-deep code[class*=language-] .style .token.string,pre[class*=language-] .token.operator,pre[class*=language-] .token.entity,pre[class*=language-] .token.url,pre[class*=language-] .language-css .token.string,pre[class*=language-] .style .token.string{color:#996525}::ng-deep code[class*=language-] .token.atrule,::ng-deep code[class*=language-] .token.attr-value,::ng-deep code[class*=language-] .token.keyword,pre[class*=language-] .token.atrule,pre[class*=language-] .token.attr-value,pre[class*=language-] .token.keyword{color:#07a}::ng-deep code[class*=language-] .token.function,::ng-deep code[class*=language-] .token.class-name,pre[class*=language-] .token.function,pre[class*=language-] .token.class-name{color:#c50028}::ng-deep code[class*=language-] .token.regex,::ng-deep code[class*=language-] .token.important,::ng-deep code[class*=language-] .token.variable,pre[class*=language-] .token.regex,pre[class*=language-] .token.important,pre[class*=language-] .token.variable{color:#9a690f}::ng-deep code[class*=language-] .token.important,::ng-deep code[class*=language-] .token.bold,pre[class*=language-] .token.important,pre[class*=language-] .token.bold{font-weight:700}::ng-deep code[class*=language-] .token.italic,pre[class*=language-] .token.italic{font-style:italic}::ng-deep code[class*=language-] .token.entity,pre[class*=language-] .token.entity{cursor:help}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}.sky-code-input{display:none}.sky-code-output{border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);margin-top:0;padding:20px;background-color:var(--sky-color-background-container-base, #fff);overflow-x:auto;margin-bottom:20px}.sky-code-block-header{height:45px;border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);border-bottom:none;background-color:var(--sky-color-background-container-base, #fff);display:flex;justify-content:space-between;align-items:center;padding:5px 5px 5px 20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.λ1, selector: "sky-copy-to-clipboard", inputs: ["ariaLabel", "ariaLabelledBy", "copyTarget", "buttonText", "buttonClickedText", "title"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockComponent, decorators: [{ type: Component, args: [{ selector: 'sky-code-block', standalone: false, template: "<div class=\"sky-code-block\">\n @if (!hideHeader) {\n <div class=\"sky-code-block-header\">\n <div>\n @if (fileName) {\n <span class=\"sky-emphasized sky-margin-inline-default\">\n {{ fileName }}\n </span>\n }\n @if (displayName) {\n <span class=\"sky-deemphasized\">\n {{ displayName }}\n </span>\n }\n </div>\n @if (!hideCopyToClipboard) {\n <sky-copy-to-clipboard\n [buttonText]=\"'sky_copy_to_clipboard_button' | skyLibResources\"\n [buttonClickedText]=\"\n 'sky_copy_to_clipboard_button_success' | skyLibResources\n \"\n [copyTarget]=\"skyCodeOutput\"\n />\n }\n </div>\n }\n <div #codeFromContent class=\"sky-code-input\">\n <ng-content />\n </div>\n <div>\n <pre #skyCodeOutput class=\"sky-code-output\"><code\n [ngClass]=\"codeBlockClassName\"\n [innerHTML]=\"output\"></code></pre>\n </div>\n</div>\n", styles: ["::ng-deep code[class*=language-],pre[class*=language-]{text-shadow:0 1px var(--sky-color-text-inverse, white);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}::ng-deep code[class*=language-] .token.comment,::ng-deep code[class*=language-] .token.prolog,::ng-deep code[class*=language-] .token.doctype,::ng-deep code[class*=language-] .token.cdata,pre[class*=language-] .token.comment,pre[class*=language-] .token.prolog,pre[class*=language-] .token.doctype,pre[class*=language-] .token.cdata{color:#5f6c79}::ng-deep code[class*=language-] .token.punctuation,pre[class*=language-] .token.punctuation{color:#5f6c79}::ng-deep code[class*=language-] .namespace,pre[class*=language-] .namespace{color:#10776e}::ng-deep code[class*=language-] .token.property,::ng-deep code[class*=language-] .token.tag,::ng-deep code[class*=language-] .token.boolean,::ng-deep code[class*=language-] .token.number,::ng-deep code[class*=language-] .token.constant,::ng-deep code[class*=language-] .token.symbol,::ng-deep code[class*=language-] .token.deleted,pre[class*=language-] .token.property,pre[class*=language-] .token.tag,pre[class*=language-] .token.boolean,pre[class*=language-] .token.number,pre[class*=language-] .token.constant,pre[class*=language-] .token.symbol,pre[class*=language-] .token.deleted{color:#c50028}::ng-deep code[class*=language-] .token.selector,::ng-deep code[class*=language-] .token.attr-name,::ng-deep code[class*=language-] .token.string,::ng-deep code[class*=language-] .token.char,::ng-deep code[class*=language-] .token.builtin,::ng-deep code[class*=language-] .token.inserted,pre[class*=language-] .token.selector,pre[class*=language-] .token.attr-name,pre[class*=language-] .token.string,pre[class*=language-] .token.char,pre[class*=language-] .token.builtin,pre[class*=language-] .token.inserted{color:#627932}::ng-deep code[class*=language-] .token.operator,::ng-deep code[class*=language-] .token.entity,::ng-deep code[class*=language-] .token.url,::ng-deep code[class*=language-] .language-css .token.string,::ng-deep code[class*=language-] .style .token.string,pre[class*=language-] .token.operator,pre[class*=language-] .token.entity,pre[class*=language-] .token.url,pre[class*=language-] .language-css .token.string,pre[class*=language-] .style .token.string{color:#996525}::ng-deep code[class*=language-] .token.atrule,::ng-deep code[class*=language-] .token.attr-value,::ng-deep code[class*=language-] .token.keyword,pre[class*=language-] .token.atrule,pre[class*=language-] .token.attr-value,pre[class*=language-] .token.keyword{color:#07a}::ng-deep code[class*=language-] .token.function,::ng-deep code[class*=language-] .token.class-name,pre[class*=language-] .token.function,pre[class*=language-] .token.class-name{color:#c50028}::ng-deep code[class*=language-] .token.regex,::ng-deep code[class*=language-] .token.important,::ng-deep code[class*=language-] .token.variable,pre[class*=language-] .token.regex,pre[class*=language-] .token.important,pre[class*=language-] .token.variable{color:#9a690f}::ng-deep code[class*=language-] .token.important,::ng-deep code[class*=language-] .token.bold,pre[class*=language-] .token.important,pre[class*=language-] .token.bold{font-weight:700}::ng-deep code[class*=language-] .token.italic,pre[class*=language-] .token.italic{font-style:italic}::ng-deep code[class*=language-] .token.entity,pre[class*=language-] .token.entity{cursor:help}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}.sky-code-input{display:none}.sky-code-output{border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);margin-top:0;padding:20px;background-color:var(--sky-color-background-container-base, #fff);overflow-x:auto;margin-bottom:20px}.sky-code-block-header{height:45px;border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);border-bottom:none;background-color:var(--sky-color-background-container-base, #fff);display:flex;justify-content:space-between;align-items:center;padding:5px 5px 5px 20px}\n"] }] }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }], propDecorators: { code: [{ type: Input }], fileName: [{ type: Input }], languageType: [{ type: Input }], hideCopyToClipboard: [{ type: Input }], hideHeader: [{ type: Input }], codeTemplateRef: [{ type: ViewChild, args: ['codeFromContent', { read: ElementRef, static: true }] }] } }); class SkyCodeBlockModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockModule, declarations: [SkyCodeBlockComponent], imports: [CommonModule, SkyClipboardModule, SkyCodeBlockResourcesModule], exports: [SkyCodeBlockComponent] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockModule, imports: [CommonModule, SkyClipboardModule, SkyCodeBlockResourcesModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeBlockModule, decorators: [{ type: NgModule, args: [{ declarations: [SkyCodeBlockComponent], imports: [CommonModule, SkyClipboardModule, SkyCodeBlockResourcesModule], exports: [SkyCodeBlockComponent], }] }] }); class SkyCodeComponent { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: SkyCodeComponent, isStandalone: false, selector: "sky-code", ngImport: i0, template: "<code class=\"sky-code\"><ng-content /></code>\n", styles: [".sky-code{border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);overflow-wrap:break-word;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;color:var(--sky-color-text-danger, rgb(209.1553191489, 40.3446808511, 43.529787234));padding:0 4px;background-color:var(--sky-color-container-dimmed, #f1eef6)}.sky-code ::ng-deep a{color:var(--sky-color-text-danger, #d93a3d);text-decoration:underline}::ng-deep a .sky-code{text-decoration:underline}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeComponent, decorators: [{ type: Component, args: [{ selector: 'sky-code', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<code class=\"sky-code\"><ng-content /></code>\n", styles: [".sky-code{border:var(--sky-border-width-container-base, 1px) solid var(--sky-color-border-container-base, #cdcfd2);overflow-wrap:break-word;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;color:var(--sky-color-text-danger, rgb(209.1553191489, 40.3446808511, 43.529787234));padding:0 4px;background-color:var(--sky-color-container-dimmed, #f1eef6)}.sky-code ::ng-deep a{color:var(--sky-color-text-danger, #d93a3d);text-decoration:underline}::ng-deep a .sky-code{text-decoration:underline}\n"] }] }] }); class SkyCodeModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeModule, declarations: [SkyCodeComponent], imports: [CommonModule], exports: [SkyCodeComponent] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeModule, imports: [CommonModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyCodeModule, decorators: [{ type: NgModule, args: [{ declarations: [SkyCodeComponent], imports: [CommonModule], exports: [SkyCodeComponent], }] }] }); /** * Generated bundle index. Do not edit. */ export { SkyCodeBlockModule, SkyCodeModule, SkyCodeComponent as λ1, SkyCodeBlockComponent as λ2 }; //# sourceMappingURL=blackbaud-skyux-lib-code-block.mjs.map