UNPKG

@ks89/ngx-codemirror6

Version:
1 lines 7.72 kB
{"version":3,"file":"ks89-ngx-codemirror6.mjs","sources":["../../../../projects/ks89/ngx-codemirror6/src/lib/ngx-codemirror6.component.ts","../../../../projects/ks89/ngx-codemirror6/src/lib/ngx-codemirror6.module.ts","../../../../projects/ks89/ngx-codemirror6/src/public-api.ts","../../../../projects/ks89/ngx-codemirror6/src/ks89-ngx-codemirror6.ts"],"sourcesContent":["/**\n * The MIT License (MIT)\n *\n * Copyright (c) 2023 Stefano Cappa (Ks89)\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { Component, ElementRef, Input, ViewChild, forwardRef, AfterViewInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { EditorView, lineNumbers } from '@codemirror/view';\nimport { EditorState, EditorStateConfig, Extension } from '@codemirror/state';\nimport { LanguageSupport } from '@codemirror/language';\nimport { html } from '@codemirror/lang-html';\nimport { css } from '@codemirror/lang-css';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { sass } from '@codemirror/lang-sass';\nimport { basicSetup } from 'codemirror';\n\n/**\n * CodeMirror component\n */\n@Component({\n selector: 'ks-codemirror',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CodemirrorComponent),\n multi: true\n }\n ],\n template: `<div #host></div>`\n})\nexport class CodemirrorComponent implements AfterViewInit {\n @Input() content: string = '';\n @Input() appendExtensions: Extension[] = [];\n @Input() language: string = '';\n\n @ViewChild('host') host: ElementRef | undefined;\n\n ngAfterViewInit(): void {\n let lang: LanguageSupport;\n switch (this.language) {\n case 'html':\n lang = html();\n break;\n case 'javascript':\n lang = javascript({ typescript: false, jsx: false });\n break;\n case 'typescript':\n lang = javascript({ typescript: true, jsx: false });\n break;\n case 'jsx':\n lang = javascript({ typescript: false, jsx: true });\n break;\n case 'css':\n lang = css();\n break;\n case 'scss':\n lang = sass();\n break;\n case 'sass':\n lang = sass({ indented: true });\n break;\n default:\n throw new Error('Internal ngx-codemirror6 error - unrecognized language');\n }\n\n const extensions: Extension[] = [lineNumbers(), lang, basicSetup, EditorState.readOnly.of(true), ...this.appendExtensions];\n const config: EditorStateConfig = {\n doc: this.content,\n extensions: extensions\n };\n this.codemirrorInit(config);\n }\n\n codemirrorInit(config: EditorStateConfig): void {\n if (!this.host) {\n throw new Error('Internal ngx-codemirror6 error - host must be defined');\n }\n new EditorView({\n parent: this.host.nativeElement,\n state: EditorState.create(config)\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CodemirrorComponent } from './ngx-codemirror6.component';\n\n@NgModule({\n declarations: [\n CodemirrorComponent\n ],\n imports: [\n ],\n exports: [\n CodemirrorComponent\n ]\n})\nexport class CodemirrorModule { }\n","/*\n * Public API Surface of ngx-codemirror6\n */\n\nexport { CodemirrorComponent } from './lib/ngx-codemirror6.component';\nexport { CodemirrorModule } from './lib/ngx-codemirror6.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAcH;;AAEG;MAYU,mBAAmB,CAAA;AAXhC,IAAA,WAAA,GAAA;QAYW,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAgB,CAAA,gBAAA,GAAgB,EAAE,CAAC;QACnC,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AAiDhC,KAAA;IA7CC,eAAe,GAAA;AACb,QAAA,IAAI,IAAqB,CAAC;AAC1B,QAAA,QAAQ,IAAI,CAAC,QAAQ;AACnB,YAAA,KAAK,MAAM;gBACT,IAAI,GAAG,IAAI,EAAE,CAAC;gBACd,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,IAAI,GAAG,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,IAAI,GAAG,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,IAAI,GAAG,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,MAAM;AACR,YAAA,KAAK,MAAM;gBACT,IAAI,GAAG,IAAI,EAAE,CAAC;gBACd,MAAM;AACR,YAAA,KAAK,MAAM;gBACT,IAAI,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChC,MAAM;AACR,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;SAC7E;QAED,MAAM,UAAU,GAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3H,QAAA,MAAM,MAAM,GAAsB;YAChC,GAAG,EAAE,IAAI,CAAC,OAAO;AACjB,YAAA,UAAU,EAAE,UAAU;SACvB,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KAC7B;AAED,IAAA,cAAc,CAAC,MAAyB,EAAA;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;AACD,QAAA,IAAI,UAAU,CAAC;AACb,YAAA,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAA,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,SAAA,CAAC,CAAC;KACJ;8GAnDU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACS,CAAmB,iBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAElB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAmB,iBAAA,CAAA;AAC9B,iBAAA,CAAA;8BAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEa,IAAI,EAAA,CAAA;sBAAtB,SAAS;uBAAC,MAAM,CAAA;;;MC1CN,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CARzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAKnB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAGV,gBAAgB,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;AACpB,qBAAA;AACF,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}