@aquera/nile-elements 1.0.1-beta-1.4 → 1.0.1-beta-1.6

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.
Files changed (211) hide show
  1. package/README.md +31 -0
  2. package/demo/index.html +8 -15
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +689 -620
  6. package/dist/internal/resizable-table-helper.cjs.js +1 -1
  7. package/dist/internal/resizable-table-helper.cjs.js.map +1 -1
  8. package/dist/internal/resizable-table-helper.esm.js +1 -1
  9. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  10. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  11. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  12. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  13. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  14. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  15. package/dist/nile-code-editor/theme.cjs.js +1 -1
  16. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  17. package/dist/nile-code-editor/theme.esm.js +1 -1
  18. package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
  19. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
  20. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  21. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  22. package/dist/nile-file-preview/nile-file-preview.css.esm.js +203 -184
  23. package/dist/nile-file-preview/nile-file-preview.esm.js +1 -3
  24. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
  25. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
  26. package/dist/nile-file-preview/nile-file-preview.template.esm.js +66 -77
  27. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +1 -1
  28. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +1 -1
  29. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +1 -1
  30. package/dist/nile-file-preview/utils/index.cjs.js +1 -1
  31. package/dist/nile-file-preview/utils/index.esm.js +1 -1
  32. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
  33. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
  34. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
  35. package/dist/nile-file-upload/index.cjs.js +1 -1
  36. package/dist/nile-file-upload/index.esm.js +1 -1
  37. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  38. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
  39. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  40. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  41. package/dist/nile-file-upload/nile-file-upload.css.esm.js +142 -89
  42. package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
  43. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +3 -3
  44. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
  45. package/dist/nile-file-upload/nile-file-upload.template.esm.js +50 -108
  46. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  47. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  48. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +1 -1
  49. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -1
  50. package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -1
  51. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +1 -1
  52. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -1
  53. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -1
  54. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -1
  55. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  56. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  57. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  58. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  59. package/dist/nile-input/nile-input.css.esm.js +0 -1
  60. package/dist/nile-option/nile-option.cjs.js +1 -1
  61. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  62. package/dist/nile-option/nile-option.esm.js +3 -3
  63. package/dist/nile-option-group/index.cjs.js +2 -0
  64. package/dist/nile-option-group/index.cjs.js.map +1 -0
  65. package/dist/nile-option-group/index.esm.js +1 -0
  66. package/dist/nile-option-group/nile-option-group.cjs.js +2 -0
  67. package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -0
  68. package/dist/nile-option-group/nile-option-group.css.cjs.js +2 -0
  69. package/dist/nile-option-group/nile-option-group.css.cjs.js.map +1 -0
  70. package/dist/nile-option-group/nile-option-group.css.esm.js +46 -0
  71. package/dist/nile-option-group/nile-option-group.esm.js +14 -0
  72. package/dist/nile-option-group/nile-option-group.interface.cjs.js +2 -0
  73. package/dist/nile-option-group/nile-option-group.interface.cjs.js.map +1 -0
  74. package/dist/nile-option-group/nile-option-group.interface.esm.js +1 -0
  75. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  76. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  77. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  78. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  79. package/dist/nile-pagination/nile-pagination.css.esm.js +9 -2
  80. package/dist/nile-pagination/nile-pagination.esm.js +3 -1
  81. package/dist/nile-select/nile-select.cjs.js +1 -1
  82. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  83. package/dist/nile-select/nile-select.esm.js +2 -2
  84. package/dist/nile-select/nile-select.interface.cjs.js +2 -0
  85. package/dist/nile-select/nile-select.interface.cjs.js.map +1 -0
  86. package/dist/nile-select/nile-select.interface.esm.js +1 -0
  87. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  88. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  89. package/dist/nile-table-body/nile-table-body.esm.js +2 -1
  90. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  91. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
  92. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +1 -1
  93. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  94. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  95. package/dist/nile-table-header-item/nile-table-header-item.esm.js +2 -2
  96. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  97. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  98. package/dist/nile-virtual-select/renderer.esm.js +13 -12
  99. package/dist/src/index.d.ts +1 -0
  100. package/dist/src/index.js +1 -0
  101. package/dist/src/index.js.map +1 -1
  102. package/dist/src/internal/resizable-table-helper.d.ts +5 -0
  103. package/dist/src/internal/resizable-table-helper.js +27 -4
  104. package/dist/src/internal/resizable-table-helper.js.map +1 -1
  105. package/dist/src/nile-code-editor/nile-code-editor.d.ts +5 -0
  106. package/dist/src/nile-code-editor/nile-code-editor.js +44 -7
  107. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  108. package/dist/src/nile-code-editor/theme.d.ts +15 -0
  109. package/dist/src/nile-code-editor/theme.js +17 -2
  110. package/dist/src/nile-code-editor/theme.js.map +1 -1
  111. package/dist/src/nile-file-preview/nile-file-preview.css.js +201 -182
  112. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  113. package/dist/src/nile-file-preview/nile-file-preview.d.ts +6 -2
  114. package/dist/src/nile-file-preview/nile-file-preview.js +49 -20
  115. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  116. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +3 -2
  117. package/dist/src/nile-file-preview/nile-file-preview.template.js +58 -62
  118. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  119. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +4 -3
  120. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +3 -2
  121. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  122. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +4 -0
  123. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +25 -0
  124. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  125. package/dist/src/nile-file-upload/nile-file-upload.css.js +140 -87
  126. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  127. package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
  128. package/dist/src/nile-file-upload/nile-file-upload.js +30 -20
  129. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  130. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +7 -5
  131. package/dist/src/nile-file-upload/nile-file-upload.template.js +69 -115
  132. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  133. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +11 -4
  134. package/dist/src/nile-file-upload/types/file-upload.enums.js +8 -1
  135. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  136. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -4
  137. package/dist/src/nile-file-upload/utils/drag-drop.util.js +18 -21
  138. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  139. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +3 -1
  140. package/dist/src/nile-file-upload/utils/file-validation.util.js +82 -32
  141. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  142. package/dist/src/nile-input/nile-input.css.js +0 -1
  143. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  144. package/dist/src/nile-option/nile-option.d.ts +1 -0
  145. package/dist/src/nile-option/nile-option.js +6 -1
  146. package/dist/src/nile-option/nile-option.js.map +1 -1
  147. package/dist/src/nile-option-group/index.d.ts +1 -0
  148. package/dist/src/nile-option-group/index.js +2 -0
  149. package/dist/src/nile-option-group/index.js.map +1 -0
  150. package/dist/src/nile-option-group/nile-option-group.css.d.ts +12 -0
  151. package/dist/src/nile-option-group/nile-option-group.css.js +58 -0
  152. package/dist/src/nile-option-group/nile-option-group.css.js.map +1 -0
  153. package/dist/src/nile-option-group/nile-option-group.d.ts +23 -0
  154. package/dist/src/nile-option-group/nile-option-group.interface.d.ts +22 -0
  155. package/dist/src/nile-option-group/nile-option-group.interface.js +2 -0
  156. package/dist/src/nile-option-group/nile-option-group.interface.js.map +1 -0
  157. package/dist/src/nile-option-group/nile-option-group.js +76 -0
  158. package/dist/src/nile-option-group/nile-option-group.js.map +1 -0
  159. package/dist/src/nile-pagination/nile-pagination.css.js +7 -0
  160. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  161. package/dist/src/nile-pagination/nile-pagination.js +3 -1
  162. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  163. package/dist/src/nile-select/nile-select.d.ts +6 -0
  164. package/dist/src/nile-select/nile-select.interface.d.ts +5 -0
  165. package/dist/src/nile-select/nile-select.interface.js +2 -0
  166. package/dist/src/nile-select/nile-select.interface.js.map +1 -0
  167. package/dist/src/nile-select/nile-select.js +59 -1
  168. package/dist/src/nile-select/nile-select.js.map +1 -1
  169. package/dist/src/nile-table-body/nile-table-body.d.ts +1 -0
  170. package/dist/src/nile-table-body/nile-table-body.js +4 -0
  171. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  172. package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +2 -1
  173. package/dist/src/nile-table-cell-item/nile-table-cell-item.js +12 -1
  174. package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
  175. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +2 -1
  176. package/dist/src/nile-table-header-item/nile-table-header-item.js +12 -1
  177. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  178. package/dist/src/nile-virtual-select/renderer.js +3 -0
  179. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +3 -2
  182. package/src/index.ts +1 -1
  183. package/src/internal/resizable-table-helper.ts +31 -8
  184. package/src/nile-code-editor/nile-code-editor.ts +49 -9
  185. package/src/nile-code-editor/theme.ts +19 -3
  186. package/src/nile-file-preview/nile-file-preview.css.ts +202 -183
  187. package/src/nile-file-preview/nile-file-preview.template.ts +66 -63
  188. package/src/nile-file-preview/nile-file-preview.ts +54 -22
  189. package/src/nile-file-preview/types/nile-file-preview.enums.ts +4 -3
  190. package/src/nile-file-preview/utils/nile-file-preview.util.ts +25 -0
  191. package/src/nile-file-upload/nile-file-upload.css.ts +141 -88
  192. package/src/nile-file-upload/nile-file-upload.template.ts +133 -121
  193. package/src/nile-file-upload/nile-file-upload.ts +30 -18
  194. package/src/nile-file-upload/types/file-upload.enums.ts +9 -2
  195. package/src/nile-file-upload/utils/drag-drop.util.ts +25 -25
  196. package/src/nile-file-upload/utils/file-validation.util.ts +98 -45
  197. package/src/nile-input/nile-input.css.ts +0 -1
  198. package/src/nile-option/nile-option.ts +4 -1
  199. package/src/nile-option-group/index.ts +1 -0
  200. package/src/nile-option-group/nile-option-group.css.ts +60 -0
  201. package/src/nile-option-group/nile-option-group.interface.ts +25 -0
  202. package/src/nile-option-group/nile-option-group.ts +84 -0
  203. package/src/nile-pagination/nile-pagination.css.ts +7 -0
  204. package/src/nile-pagination/nile-pagination.ts +3 -1
  205. package/src/nile-select/nile-select.interface.ts +5 -0
  206. package/src/nile-select/nile-select.ts +74 -2
  207. package/src/nile-table-body/nile-table-body.ts +2 -0
  208. package/src/nile-table-cell-item/nile-table-cell-item.ts +15 -1
  209. package/src/nile-table-header-item/nile-table-header-item.ts +15 -1
  210. package/src/nile-virtual-select/renderer.ts +3 -0
  211. package/vscode-html-custom-data.json +49 -13
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "1.0.1-beta-1.4",
6
+ "version": "1.0.1-beta-1.6",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -87,7 +87,8 @@
87
87
  "./nile-inline-edit": "./dist/src/nile-inline-edit/index.js",
88
88
  "./nile-table": "./dist/src/nile-table/index.js",
89
89
  "./nile-pagination": "./dist/src/nile-pagination/index.js",
90
- "./nile-slider": "./dist/src/nile-slider/index.js"
90
+ "./nile-slider": "./dist/src/nile-slider/index.js",
91
+ "./nile-option-group": "./dist/src/nile-option-group/index.js"
91
92
  },
92
93
  "scripts": {
93
94
  "analyze": "cem analyze --litelement",
package/src/index.ts CHANGED
@@ -77,9 +77,9 @@ export { NileSectionMessage } from './nile-section-message';
77
77
  export { NileToolbar } from './nile-toolbar';
78
78
  export { NileInlineEdit } from './nile-inline-edit';
79
79
  export { NileTable } from './nile-table';
80
-
81
80
  export { NileFilterChip } from './nile-filter-chip';
82
81
  export {NilePagination } from './nile-pagination';
83
82
  export { NileSlider } from './nile-slider';
84
83
  export { NileFileUpload } from './nile-file-upload';
85
84
  export { NileFilePreview } from './nile-file-preview';
85
+ export { NileOptionGroup } from './nile-option-group';
@@ -103,6 +103,23 @@ export function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: num
103
103
  });
104
104
  }
105
105
 
106
+ /**
107
+ * Resets all column widths in a table to their default values
108
+ * @param tableBody The table body element to reset
109
+ */
110
+ export function resetAllColumnWidths(tableBody: HTMLElement): void {
111
+ const headerItems = tableBody.querySelectorAll('nile-table-header-item');
112
+ const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
113
+
114
+ headerItems.forEach(header => {
115
+ header.style.removeProperty('width');
116
+ });
117
+
118
+ cellItems.forEach(cell => {
119
+ cell.style.removeProperty('width');
120
+ });
121
+ }
122
+
106
123
  /**
107
124
  * Checks if an element has the resizable attribute
108
125
  * @param element The element to check
@@ -137,15 +154,21 @@ export function createResizeHandler(element: HTMLElement, minWidth: number = 50)
137
154
  * @returns True if any columns have resizable attribute
138
155
  */
139
156
  export function hasResizableColumns(tableBody: HTMLElement): boolean {
140
- const headerItems = tableBody.querySelectorAll('nile-table-header-item');
141
- const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
157
+ const directChildren = Array.from(tableBody.children);
158
+
159
+ const hasResizableHeaders = directChildren.some(child => {
160
+ if (child.tagName.toLowerCase() === 'nile-table-header-item') {
161
+ return child.hasAttribute('resizable');
162
+ }
163
+ return false;
164
+ });
142
165
 
143
- const hasResizableHeaders = Array.from(headerItems).some(item =>
144
- isResizable(item)
145
- );
146
- const hasResizableCells = Array.from(cellItems).some(item =>
147
- isResizable(item)
148
- );
166
+ const hasResizableCells = directChildren.some(child => {
167
+ if (child.tagName.toLowerCase() === 'nile-table-cell-item') {
168
+ return child.hasAttribute('resizable');
169
+ }
170
+ return false;
171
+ });
149
172
 
150
173
  return hasResizableHeaders || hasResizableCells;
151
174
  }
@@ -35,13 +35,12 @@ import {
35
35
  import { sql } from '@codemirror/lang-sql';
36
36
  import { json } from '@codemirror/lang-json';
37
37
  import { html as htmlLang } from '@codemirror/lang-html';
38
- import { autocompletion,CompletionContext,CompletionResult } from '@codemirror/autocomplete';
38
+ import { autocompletion,acceptCompletion, closeCompletion,CompletionContext,CompletionResult, completionStatus } from '@codemirror/autocomplete';
39
39
  import NileElement from '../internal/nile-element';
40
40
  import { basicSetup } from './extensionSetup';
41
41
  import { classMap } from 'lit/directives/class-map.js';
42
- import { Theme as DefaultTheme, customisedThemeCss } from './theme';
42
+ import { Theme as DefaultTheme, customisedThemeCss, fontFamily } from './theme';
43
43
  import { keymap } from '@codemirror/view';
44
- import { acceptCompletion } from '@codemirror/autocomplete';
45
44
 
46
45
  // Choose the appropriate mode for your use case
47
46
 
@@ -102,7 +101,9 @@ export class NileCodeEditor extends NileElement {
102
101
 
103
102
  @property({ type: Boolean, reflect: true , attribute: true}) aboveCursor: boolean = false;
104
103
 
105
- @property({ type: Boolean, reflect: true, attribute: true }) tabCompletion: boolean = false;
104
+ @property({ type: Boolean, reflect: true, attribute: true }) tabCompletion: boolean = true;
105
+
106
+ @property({ type: Boolean, reflect: true, attribute: true }) defaultFont: boolean = false;
106
107
 
107
108
  public view: EditorView;
108
109
  public viewState:EditorState;
@@ -116,7 +117,9 @@ export class NileCodeEditor extends NileElement {
116
117
  private placeholderComp = new Compartment();
117
118
  private defaultSyntaxHighlightingComp = new Compartment();
118
119
  private themeComp = new Compartment();
120
+ private autoCompletionComp = new Compartment();
119
121
 
122
+ private isSpacePressed:boolean = false;
120
123
  /**
121
124
  * The styles for CodeEditor
122
125
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
@@ -178,6 +181,15 @@ export class NileCodeEditor extends NileElement {
178
181
  ]
179
182
  })
180
183
  }
184
+ if (changedProperties.has('aboveCursor')) {
185
+ this.view.dispatch({
186
+ effects: [
187
+ this.autoCompletionComp.reconfigure(
188
+ autocompletion({ aboveCursor: this.aboveCursor })
189
+ )
190
+ ]
191
+ });
192
+ }
181
193
  if (changedProperties.has('placeholder')) {
182
194
  this.view.dispatch({
183
195
  effects: [
@@ -261,7 +273,27 @@ export class NileCodeEditor extends NileElement {
261
273
  parent: this.codeEditor
262
274
  });
263
275
 
264
- if(emitEvent) this.emit('nile-after-update',{ createNewView: this.createNewView, codeMirrorInstance: this.view, }, false );
276
+ this.view.dom.addEventListener('keydown', (e: KeyboardEvent) => {
277
+ this.checkForSpaceKey(e);
278
+ this.handleEscapeKey(e);
279
+ }, true);
280
+ if (emitEvent) this.emit('nile-after-update', { createNewView: this.createNewView, codeMirrorInstance: this.view, }, false );
281
+ }
282
+
283
+ checkForSpaceKey(e: KeyboardEvent) {
284
+ if (e.code === 'Space' && !e.ctrlKey) {
285
+ this.isSpacePressed = true;
286
+ } else {
287
+ this.isSpacePressed = false;
288
+ }
289
+ }
290
+
291
+ handleEscapeKey(e: KeyboardEvent) {
292
+ if (e.key === 'Escape' && this.view && completionStatus(this.view.state) !== null) {
293
+ e.stopPropagation();
294
+ e.preventDefault();
295
+ closeCompletion(this.view);
296
+ }
265
297
  }
266
298
 
267
299
  createState(){
@@ -290,7 +322,9 @@ export class NileCodeEditor extends NileElement {
290
322
  customAutoCompletions,
291
323
  placeholderExtension,
292
324
  defaultSyntaxHighlightingExtension,
293
- autocompletion({aboveCursor: this.aboveCursor}),
325
+ this.autoCompletionComp.of(
326
+ autocompletion({ aboveCursor: this.aboveCursor })
327
+ ),
294
328
  language,
295
329
  customThemeExtension,
296
330
  this.getTabCompletionKeymap(),
@@ -382,7 +416,7 @@ export class NileCodeEditor extends NileElement {
382
416
 
383
417
  if (!baseMatch) {
384
418
  const trimmedText = textBeforeCursor.trim();
385
- if (trimmedText === '') {
419
+ if (trimmedText === '' && !this.isSpacePressed) {
386
420
  const optionsList = Object.keys(this.customAutoCompletions).filter(key =>
387
421
  Object.keys(this.customAutoCompletions[key]).length
388
422
  );
@@ -513,10 +547,16 @@ export class NileCodeEditor extends NileElement {
513
547
  }
514
548
 
515
549
  getCustomThemeExtension(): Extension {
516
- if (this.customThemeCSS) {
550
+ if(this.customThemeCSS) {
551
+ if(this.defaultFont){
552
+ return [EditorView.theme(this.customThemeCSS as { [selector: string]: StyleSpec }), EditorView.theme(customisedThemeCss),EditorView.theme(fontFamily)];
553
+ }
517
554
  return [EditorView.theme(this.customThemeCSS as { [selector: string]: StyleSpec }), EditorView.theme(customisedThemeCss)];
518
555
  }
519
- return [EditorView.theme(customisedThemeCss), EditorView.theme(DefaultTheme)];
556
+ if(this.defaultFont){
557
+ return [EditorView.theme(customisedThemeCss), EditorView.theme(fontFamily)];
558
+ }
559
+ return [EditorView.theme(customisedThemeCss)];
520
560
  }
521
561
 
522
562
  restrictSingleLine() {
@@ -38,7 +38,23 @@ export const CustomTheme = {
38
38
  },
39
39
  };
40
40
 
41
+ export const fontFamily = {
42
+ '.cm-tooltip.cm-tooltip-autocomplete > ul' : {
43
+ fontFamily: 'monospace !important',
44
+ fontWeight: '400',
45
+ },
46
+ '.cm-content' : {
47
+ fontFamily: 'monospace !important',
48
+ }
49
+ }
50
+
41
51
  export const customisedThemeCss = {
52
+ '.cm-content' : {
53
+ fontFamily: 'inherit',
54
+ },
55
+ '.cm-scroller' : {
56
+ fontFamily: 'inherit',
57
+ },
42
58
  '.cm-tooltip-autocomplete': {
43
59
  padding: '9px 12px',
44
60
  backgroundColor: '#FFFFFF',
@@ -53,7 +69,7 @@ export const customisedThemeCss = {
53
69
  color: 'hsl(240 5.3% 26.1%)',
54
70
  },
55
71
  '.cm-tooltip.cm-completionInfo.cm-completionInfo-right': {
56
- fontFamily: 'colfax-regular',
72
+ fontFamily: 'inherit',
57
73
  backgroundColor: '#FFFFFF',
58
74
  color: 'hsl(240 5.3% 26.1%)',
59
75
  padding: "6px 12px",
@@ -63,7 +79,7 @@ export const customisedThemeCss = {
63
79
  fontSize: '14px',
64
80
  },
65
81
  '.cm-tooltip.cm-tooltip-autocomplete > ul': {
66
- fontFamily: 'colfax-regular',
82
+ fontFamily: 'inherit',
67
83
  fontWeight: '400',
68
84
  },
69
85
  '.cm-tooltip.cm-tooltip-autocomplete > ul > li': {
@@ -147,4 +163,4 @@ export const customisedThemeCss = {
147
163
  '.cm-completionLabel': {
148
164
  marginLeft: '18px',
149
165
  }
150
- };
166
+ };