@aquera/nile-elements 0.1.34-beta-1.2 → 0.1.35-beta-1.0
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.
- package/README.md +2 -0
- package/demo/index.html +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
- package/dist/nile-tooltip/nile-tooltip-utils.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip-utils.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip-utils.esm.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
- package/dist/nile-tooltip/nile-tooltip.test.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.test.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip.test.esm.js +2 -2
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +5 -1
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +40 -12
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +1 -1
- package/dist/src/nile-tooltip/nile-tooltip.js +60 -4
- package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.js +2 -2
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-code-editor/nile-code-editor.ts +4 -2
- package/src/nile-tooltip/nile-tooltip-utils.ts +91 -60
- package/src/nile-tooltip/nile-tooltip.test.ts +2 -2
- package/src/nile-tooltip/nile-tooltip.ts +91 -6
- package/vscode-html-custom-data.json +7 -2
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": "0.1.
|
6
|
+
"version": "0.1.35-beta-1.0",
|
7
7
|
"main": "dist/src/index.js",
|
8
8
|
"type": "module",
|
9
9
|
"module": "dist/src/index.js",
|
@@ -98,6 +98,8 @@ export class NileCodeEditor extends NileElement {
|
|
98
98
|
|
99
99
|
@property({ type: Number, reflect: true , attribute: true}) debounceTimeout: number = 200;
|
100
100
|
|
101
|
+
@property({ type: Boolean, reflect: true , attribute: true}) aboveCursor: boolean = false;
|
102
|
+
|
101
103
|
public view: EditorView;
|
102
104
|
public viewState:EditorState;
|
103
105
|
private timeOut: any = null;
|
@@ -272,7 +274,7 @@ export class NileCodeEditor extends NileElement {
|
|
272
274
|
customAutoCompletions,
|
273
275
|
placeholderExtension,
|
274
276
|
defaultSyntaxHighlightingExtension,
|
275
|
-
autocompletion(),
|
277
|
+
autocompletion({aboveCursor: this.aboveCursor}),
|
276
278
|
language,
|
277
279
|
customThemeExtension,
|
278
280
|
EditorView.updateListener.of((v: ViewUpdate) => {
|
@@ -568,4 +570,4 @@ function convertToSingleLine(code: string) {
|
|
568
570
|
if (!code) return '';
|
569
571
|
// Remove line breaks and unnecessary whitespace
|
570
572
|
return code.replace(/\s+/g, ' ').trim();
|
571
|
-
}
|
573
|
+
}
|
@@ -30,70 +30,91 @@ export function getValidTooltipPosition(
|
|
30
30
|
top = triggerRect.top - tooltipRect.height - distance;
|
31
31
|
left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2 + skidding;
|
32
32
|
break;
|
33
|
-
case 'top-start': {
|
33
|
+
case 'top-start': {
|
34
34
|
top = triggerRect.top - tooltipRect.height - distance;
|
35
|
-
|
36
|
-
|
37
|
-
break;
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
left = Math.min(centeredLeft, maxLeft);
|
50
|
-
break;
|
51
|
-
}
|
52
|
-
|
35
|
+
const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
|
36
|
+
left = Math.max(triggerRect.left + skidding, centeredLeft);
|
37
|
+
break;
|
38
|
+
}
|
39
|
+
case 'top-end': {
|
40
|
+
top = triggerRect.top - tooltipRect.height - distance;
|
41
|
+
const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
|
42
|
+
const maxLeft = triggerRect.right - tooltipRect.width + skidding;
|
43
|
+
left = Math.min(centeredLeft, maxLeft);
|
44
|
+
break;
|
45
|
+
}
|
46
|
+
|
53
47
|
case 'bottom':
|
54
48
|
top = triggerRect.bottom + distance;
|
55
49
|
left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2 + skidding;
|
56
50
|
break;
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
51
|
+
case 'bottom-start': {
|
52
|
+
top = triggerRect.bottom + distance;
|
53
|
+
const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
|
54
|
+
left = Math.max(triggerRect.left + skidding, centeredLeft);
|
55
|
+
|
56
|
+
break;
|
57
|
+
}
|
58
|
+
|
59
|
+
case 'bottom-end': {
|
60
|
+
top = triggerRect.bottom + distance;
|
61
|
+
const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
|
62
|
+
const maxLeft = triggerRect.right - tooltipRect.width + skidding;
|
63
|
+
left = Math.min(centeredLeft, maxLeft);
|
64
|
+
break;
|
65
|
+
}
|
66
|
+
|
73
67
|
case 'left':
|
74
68
|
top = triggerRect.top + (triggerRect.height - tooltipRect.height) / 2 + skidding;
|
75
69
|
left = triggerRect.left - tooltipRect.width - distance;
|
76
70
|
break;
|
77
|
-
case 'left-start':
|
78
|
-
|
71
|
+
case 'left-start': {
|
72
|
+
const triggerCenterY = triggerRect.top + triggerRect.height / 2;
|
73
|
+
top = triggerCenterY - tooltipRect.height / 2;
|
79
74
|
left = triggerRect.left - tooltipRect.width - distance;
|
75
|
+
if (top < triggerRect.top) {
|
76
|
+
top = triggerRect.top;
|
77
|
+
}
|
80
78
|
break;
|
81
|
-
|
82
|
-
|
79
|
+
}
|
80
|
+
|
81
|
+
case 'left-end': {
|
82
|
+
const triggerCenterY = triggerRect.top + triggerRect.height / 2;
|
83
|
+
top = triggerCenterY - tooltipRect.height / 2;
|
83
84
|
left = triggerRect.left - tooltipRect.width - distance;
|
85
|
+
if (top + tooltipRect.height > triggerRect.bottom) {
|
86
|
+
top = triggerRect.bottom - tooltipRect.height;
|
87
|
+
}
|
88
|
+
|
84
89
|
break;
|
90
|
+
}
|
91
|
+
|
85
92
|
case 'right':
|
86
93
|
top = triggerRect.top + (triggerRect.height - tooltipRect.height) / 2 + skidding;
|
87
94
|
left = triggerRect.right + distance;
|
88
95
|
break;
|
89
|
-
case 'right-start':
|
90
|
-
|
96
|
+
case 'right-start': {
|
97
|
+
const triggerCenterY = triggerRect.top + triggerRect.height / 2;
|
98
|
+
top = triggerCenterY - tooltipRect.height / 2;
|
91
99
|
left = triggerRect.right + distance;
|
100
|
+
if (top < triggerRect.top) {
|
101
|
+
top = triggerRect.top;
|
102
|
+
}
|
103
|
+
|
92
104
|
break;
|
93
|
-
|
94
|
-
|
105
|
+
}
|
106
|
+
|
107
|
+
case 'right-end': {
|
108
|
+
const triggerCenterY = triggerRect.top + triggerRect.height / 2;
|
109
|
+
top = triggerCenterY - tooltipRect.height / 2;
|
95
110
|
left = triggerRect.right + distance;
|
111
|
+
if (top + tooltipRect.height > triggerRect.bottom) {
|
112
|
+
top = triggerRect.bottom - tooltipRect.height;
|
113
|
+
}
|
114
|
+
|
96
115
|
break;
|
116
|
+
}
|
117
|
+
|
97
118
|
default:
|
98
119
|
top = triggerRect.top - tooltipRect.height - distance;
|
99
120
|
left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2 + skidding;
|
@@ -189,18 +210,18 @@ export function getCaretPosition({
|
|
189
210
|
let caretTop = 0;
|
190
211
|
|
191
212
|
switch (primaryPlacement) {
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
213
|
+
case 'top':
|
214
|
+
caretTop = tooltipRect.height - caretSize;
|
215
|
+
caretLeft = triggerCenterX - left - caretSize;
|
216
|
+
if (placement === 'top-end') {
|
217
|
+
caretLeft = triggerCenterX - left - caretSize;
|
218
|
+
} else if (secondaryPlacement === 'start') {
|
219
|
+
caretLeft = triggerCenterX - left - caretSize;
|
220
|
+
} else if (secondaryPlacement === 'end') {
|
221
|
+
caretLeft = tooltipRect.width - 2 * caretSize + 8;
|
222
|
+
}
|
223
|
+
caretLeft = Math.max(caretSize, Math.min(caretLeft, tooltipRect.width - 2 * caretSize));
|
224
|
+
break;
|
204
225
|
|
205
226
|
case 'bottom':
|
206
227
|
caretTop = -caretSize;
|
@@ -210,31 +231,41 @@ export function getCaretPosition({
|
|
210
231
|
case 'left':
|
211
232
|
caretLeft = tooltipRect.width - caretSize;
|
212
233
|
if (secondaryPlacement === 'start') {
|
213
|
-
|
234
|
+
const computedCaretTop = triggerCenterY - top - caretSize;
|
235
|
+
const minCaretTop = triggerRect.top - top;
|
236
|
+
caretTop = Math.max(computedCaretTop, minCaretTop);
|
214
237
|
} else if (secondaryPlacement === 'end') {
|
215
|
-
|
238
|
+
const computedCaretTop = triggerCenterY - top - caretSize;
|
239
|
+
const maxCaretTop = triggerRect.bottom - top - 2 * caretSize;
|
240
|
+
caretTop = Math.min(computedCaretTop, maxCaretTop);
|
216
241
|
} else {
|
217
242
|
caretTop = triggerCenterY - top - caretSize;
|
218
243
|
}
|
219
244
|
caretTop = Math.max(caretSize, Math.min(caretTop, tooltipRect.height - 2 * caretSize));
|
220
245
|
break;
|
221
246
|
|
247
|
+
|
222
248
|
case 'right':
|
223
249
|
caretLeft = -caretSize;
|
224
250
|
if (secondaryPlacement === 'start') {
|
225
|
-
|
251
|
+
const computedCaretTop = triggerCenterY - top - caretSize;
|
252
|
+
const minCaretTop = triggerRect.top - top;
|
253
|
+
caretTop = Math.max(computedCaretTop, minCaretTop);
|
226
254
|
} else if (secondaryPlacement === 'end') {
|
227
|
-
|
255
|
+
const computedCaretTop = triggerCenterY - top - caretSize;
|
256
|
+
const maxCaretTop = triggerRect.bottom - top - 2 * caretSize;
|
257
|
+
caretTop = Math.min(computedCaretTop, maxCaretTop);
|
228
258
|
} else {
|
229
259
|
caretTop = triggerCenterY - top - caretSize;
|
230
260
|
}
|
231
261
|
caretTop = Math.max(caretSize, Math.min(caretTop, tooltipRect.height - 2 * caretSize));
|
232
262
|
break;
|
233
263
|
|
264
|
+
|
234
265
|
default:
|
235
266
|
caretLeft = tooltipRect.width / 2 - caretSize;
|
236
267
|
caretTop = tooltipRect.height / 2 - caretSize;
|
237
268
|
}
|
238
269
|
|
239
270
|
return { caretLeft, caretTop };
|
240
|
-
}
|
271
|
+
}
|
@@ -7,7 +7,7 @@ describe('NileTooltip', () => {
|
|
7
7
|
it('renders with default properties', async () => {
|
8
8
|
const el = await fixture<NileTooltip>(html`<nile-tooltip content="Hello"><button>Hover me</button></nile-tooltip>`);
|
9
9
|
assert.equal(el.content, 'Hello');
|
10
|
-
assert.equal(el.placement, '
|
10
|
+
assert.equal(el.placement, 'top');
|
11
11
|
assert.equal(el.disabled, false);
|
12
12
|
assert.equal(el.open, false);
|
13
13
|
});
|
@@ -133,7 +133,7 @@ describe('NileTooltip', () => {
|
|
133
133
|
</nile-tooltip>
|
134
134
|
`);
|
135
135
|
await el.updateComplete;
|
136
|
-
assert.equal(el.placement, '
|
136
|
+
assert.equal(el.placement, 'top');
|
137
137
|
});
|
138
138
|
|
139
139
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
/**
|
2
3
|
* Copyright Aquera Inc 2023
|
3
4
|
*
|
@@ -33,7 +34,7 @@ export class NileTooltip extends NileElement {
|
|
33
34
|
| 'bottom-end'
|
34
35
|
| 'left'
|
35
36
|
| 'left-start'
|
36
|
-
| 'left-end' = '
|
37
|
+
| 'left-end' = 'top';
|
37
38
|
@property({ type: Boolean, reflect: true }) disabled = false;
|
38
39
|
@property({ type: Boolean, reflect: true }) open = false;
|
39
40
|
/**
|
@@ -81,11 +82,11 @@ export class NileTooltip extends NileElement {
|
|
81
82
|
|
82
83
|
if (!validPlacements.includes(this.placement)) {
|
83
84
|
console.warn(`[nile-tooltip] Invalid placement "${this.placement}", defaulting to "bottom".`);
|
84
|
-
this.placement = '
|
85
|
+
this.placement = 'top';
|
85
86
|
}
|
86
87
|
|
87
88
|
if (!validPlacements.includes(this.originalPlacement)) {
|
88
|
-
this.originalPlacement = '
|
89
|
+
this.originalPlacement = 'top';
|
89
90
|
}
|
90
91
|
|
91
92
|
if (changedProps.has('open') && this.open) {
|
@@ -132,7 +133,9 @@ export class NileTooltip extends NileElement {
|
|
132
133
|
viewportHeight
|
133
134
|
);
|
134
135
|
|
135
|
-
|
136
|
+
// FallBack Positions
|
137
|
+
|
138
|
+
// Bottom
|
136
139
|
if (this.originalPlacement.startsWith('bottom')) {
|
137
140
|
const availableSpaceBelow = viewportHeight - triggerRect.bottom;
|
138
141
|
if (availableSpaceBelow < tooltipRect.height + this.distance) {
|
@@ -158,6 +161,89 @@ export class NileTooltip extends NileElement {
|
|
158
161
|
placement = newPosition.placement;
|
159
162
|
}
|
160
163
|
}
|
164
|
+
// Top
|
165
|
+
if (this.originalPlacement.startsWith('top')) {
|
166
|
+
const availableSpaceAbove = triggerRect.top;
|
167
|
+
const availableSpaceBelow = viewportHeight - triggerRect.bottom;
|
168
|
+
if (availableSpaceAbove < tooltipRect.height + this.distance && availableSpaceBelow >= tooltipRect.height + this.distance) {
|
169
|
+
let newPlacement: typeof this.originalPlacement = 'bottom';
|
170
|
+
if (this.originalPlacement === 'top-start') {
|
171
|
+
newPlacement = 'bottom-start';
|
172
|
+
} else if (this.originalPlacement === 'top-end') {
|
173
|
+
newPlacement = 'bottom-end';
|
174
|
+
}
|
175
|
+
|
176
|
+
const newPosition = getValidTooltipPosition(
|
177
|
+
triggerRect,
|
178
|
+
tooltipRect,
|
179
|
+
newPlacement,
|
180
|
+
this.distance,
|
181
|
+
this.skidding,
|
182
|
+
this.caretSize,
|
183
|
+
viewportWidth,
|
184
|
+
viewportHeight
|
185
|
+
);
|
186
|
+
top = newPosition.top;
|
187
|
+
left = newPosition.left;
|
188
|
+
placement = newPosition.placement;
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
// Left
|
193
|
+
if (this.originalPlacement.startsWith('left')) {
|
194
|
+
const availableSpaceLeft = triggerRect.left;
|
195
|
+
const availableSpaceRight = viewportWidth - triggerRect.right;
|
196
|
+
if (availableSpaceLeft < tooltipRect.width + this.distance && availableSpaceRight >= tooltipRect.width + this.distance) {
|
197
|
+
let newPlacement: typeof this.originalPlacement = 'right';
|
198
|
+
if (this.originalPlacement === 'left-start') {
|
199
|
+
newPlacement = 'right-start';
|
200
|
+
} else if (this.originalPlacement === 'left-end') {
|
201
|
+
newPlacement = 'right-end';
|
202
|
+
}
|
203
|
+
|
204
|
+
const newPosition = getValidTooltipPosition(
|
205
|
+
triggerRect,
|
206
|
+
tooltipRect,
|
207
|
+
newPlacement,
|
208
|
+
this.distance,
|
209
|
+
this.skidding,
|
210
|
+
this.caretSize,
|
211
|
+
viewportWidth,
|
212
|
+
viewportHeight
|
213
|
+
);
|
214
|
+
top = newPosition.top;
|
215
|
+
left = newPosition.left;
|
216
|
+
placement = newPosition.placement;
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
// Right
|
221
|
+
if (this.originalPlacement.startsWith('right')) {
|
222
|
+
const availableSpaceRight = viewportWidth - triggerRect.right;
|
223
|
+
const availableSpaceLeft = triggerRect.left;
|
224
|
+
if (availableSpaceRight < tooltipRect.width + this.distance && availableSpaceLeft >= tooltipRect.width + this.distance) {
|
225
|
+
let newPlacement: typeof this.originalPlacement = 'left';
|
226
|
+
if (this.originalPlacement === 'right-start') {
|
227
|
+
newPlacement = 'left-start';
|
228
|
+
} else if (this.originalPlacement === 'right-end') {
|
229
|
+
newPlacement = 'left-end';
|
230
|
+
}
|
231
|
+
|
232
|
+
const newPosition = getValidTooltipPosition(
|
233
|
+
triggerRect,
|
234
|
+
tooltipRect,
|
235
|
+
newPlacement,
|
236
|
+
this.distance,
|
237
|
+
this.skidding,
|
238
|
+
this.caretSize,
|
239
|
+
viewportWidth,
|
240
|
+
viewportHeight
|
241
|
+
);
|
242
|
+
top = newPosition.top;
|
243
|
+
left = newPosition.left;
|
244
|
+
placement = newPosition.placement;
|
245
|
+
}
|
246
|
+
}
|
161
247
|
|
162
248
|
this.setAttribute('placement', placement);
|
163
249
|
this.tooltip.style.top = `${top}px`;
|
@@ -263,7 +349,7 @@ export class NileTooltip extends NileElement {
|
|
263
349
|
@focusout=${this.handleBlur}
|
264
350
|
aria-describedby="tooltip"
|
265
351
|
>
|
266
|
-
|
352
|
+
<slot></slot>
|
267
353
|
</div>
|
268
354
|
`;
|
269
355
|
}
|
@@ -274,4 +360,3 @@ declare global {
|
|
274
360
|
'nile-tooltip': NileTooltip;
|
275
361
|
}
|
276
362
|
}
|
277
|
-
|
@@ -818,7 +818,7 @@
|
|
818
818
|
},
|
819
819
|
{
|
820
820
|
"name": "nile-code-editor",
|
821
|
-
"description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `disableSyntaxHighlighting` {`boolean`} - \n\n * `customThemeCSS` {`object | null`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `placeholderComp` - \n\n * `defaultSyntaxHighlightingComp` - \n\n * `themeComp` - \n\n * `customAutocomplete` - Custom autocomplete handler for code editor suggestions\n\n * `insertBetweenCode` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
821
|
+
"description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\n * `aboveCursor` {`boolean`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `disableSyntaxHighlighting` {`boolean`} - \n\n * `customThemeCSS` {`object | null`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\n * `aboveCursor` {`boolean`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `placeholderComp` - \n\n * `defaultSyntaxHighlightingComp` - \n\n * `themeComp` - \n\n * `customAutocomplete` - Custom autocomplete handler for code editor suggestions\n\n * `insertBetweenCode` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
822
822
|
"attributes": [
|
823
823
|
{
|
824
824
|
"name": "value",
|
@@ -926,6 +926,11 @@
|
|
926
926
|
"name": "debounceTimeout",
|
927
927
|
"description": "`debounceTimeout` {`number`} - \n\nProperty: debounceTimeout\n\nDefault: 200"
|
928
928
|
},
|
929
|
+
{
|
930
|
+
"name": "aboveCursor",
|
931
|
+
"description": "`aboveCursor` {`boolean`} - \n\nProperty: aboveCursor\n\nDefault: false",
|
932
|
+
"valueSet": "v"
|
933
|
+
},
|
929
934
|
{
|
930
935
|
"name": "onnile-focus",
|
931
936
|
"description": "`nile-focus` {`Event`} - "
|
@@ -3778,7 +3783,7 @@
|
|
3778
3783
|
},
|
3779
3784
|
{
|
3780
3785
|
"name": "placement",
|
3781
|
-
"description": "`placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\nProperty: placement\n\nDefault:
|
3786
|
+
"description": "`placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\nProperty: placement\n\nDefault: top",
|
3782
3787
|
"values": [
|
3783
3788
|
{
|
3784
3789
|
"name": "top"
|