@operato/input 1.7.2 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,6 @@ import { customElement, property } from 'lit/decorators.js'
7
7
 
8
8
  import { history, historyKeymap, indentWithTab } from '@codemirror/commands'
9
9
  import { EditorView, highlightActiveLine, keymap } from '@codemirror/view'
10
- import { EditorState } from '@codemirror/state'
11
10
  import { autocompletion, closeBrackets } from '@codemirror/autocomplete'
12
11
  import { bracketMatching, LanguageSupport, syntaxHighlighting } from '@codemirror/language'
13
12
  import { oneDarkHighlightStyle, oneDark } from '@codemirror/theme-one-dark'
@@ -26,7 +25,7 @@ WEB Component for code-mirror code editor.
26
25
 
27
26
  Example:
28
27
 
29
- <ox-input-code .value=${text} mode=${mode} tab-size="4" tab-as-space="true">
28
+ <ox-input-code .value=${text} tab-size="4" tab-as-space="true" language="javascript">
30
29
  </ox-input-code>
31
30
  */
32
31
  @customElement('ox-input-code')
@@ -52,10 +51,9 @@ export class OxInputCode extends OxFormField {
52
51
  * `value`는 에디터에서 작성중인 contents이다.
53
52
  */
54
53
  @property({ type: String }) value: string = ''
55
- @property({ type: String }) mode?: string
56
54
  @property({ type: Number, attribute: 'tab-size' }) tabSize: number = 2
57
55
  @property({ type: Boolean, attribute: 'tab-as-space' }) tabAsSpace: boolean = true
58
- @property({ type: String }) language?: 'javascript' | 'sql' | 'json' = 'javascript'
56
+ @property({ type: String }) language?: string = 'javascript'
59
57
 
60
58
  private _self_changing: boolean = false
61
59
  private _editor?: EditorView
@@ -71,24 +69,25 @@ export class OxInputCode extends OxFormField {
71
69
 
72
70
  get editor() {
73
71
  if (!this._editor) {
74
- let language: LanguageSupport
72
+ let language: LanguageSupport[] = []
75
73
  switch (this.language) {
76
74
  case 'sql':
77
- language = sql()
75
+ language = [sql()]
78
76
  break
79
77
  case 'json':
80
- language = json()
78
+ language = [json()]
81
79
  break
82
80
  case 'javascript':
81
+ language = [javascript()]
82
+ break
83
83
  default:
84
- language = javascript()
85
84
  break
86
85
  }
87
86
 
88
87
  this._editor = new EditorView({
89
88
  doc: this.value,
90
89
  extensions: [
91
- language,
90
+ ...language,
92
91
  bracketMatching(),
93
92
  closeBrackets(),
94
93
  history(),
@@ -77,7 +77,7 @@ export class OxInputData extends OxFormField {
77
77
  <mwc-icon @click=${() => this._clearData()} title="delete">delete_forever</mwc-icon>
78
78
  </div>
79
79
 
80
- <ox-input-code .value=${this._getData(this.value)} editor> </ox-input-code>
80
+ <ox-input-code .value=${this._getData(this.value)} language="javascript" editor> </ox-input-code>
81
81
  `
82
82
  }
83
83